我試圖將文件與其他參數一起發佈到我的API。使用HttpURLConnection POST000與其他表單數據的文件
例如, POST /媒體 與參數
文件名= 'test.png'
文件= -the-實際文件級
我可以成功地與郵差(使用形狀數據)執行此操作,所以事情的api方面都很好。
這裏是我的Android代碼使用HttpURLConnection類:
nameValuePairs.add(new BasicNameValuePair("filename", "test.png"));
URL object = new URL(url);
HttpURLConnection connection = (HttpURLConnection) object.openConnection();
connection.setReadTimeout(60 * 1000);
connection.setConnectTimeout(60 * 1000);
String auth = username+":"+password;
byte[] data = auth.getBytes();
String encodeAuth = "Basic " + Base64.encodeToString(data, Base64.DEFAULT);
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestProperty("Authorization", encodeAuth);
connection.setRequestProperty("Accept", ACCEPT);
connection.setRequestMethod("POST");
connection.setRequestProperty("ENCTYPE", "multipart/form-data");
connection.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
dataOutputStream = new DataOutputStream(connection.getOutputStream());
writer = new BufferedWriter(new OutputStreamWriter(dataOutputStream, "UTF-8"));
writer.write(getQuery(nameValuePairs));
writer.write("&file=" + "image.jpg");
writer.write
File file = getFile(item);
if (file == null) {
Log.e("uploadFile", "Source File not exist ");
} else {
addFilePart("file", file);
}
}
writer.flush();
writer.close();
dataOutputStream.close();
connection.connect();
[Android中上傳大文件,而不OutOfMemory錯誤](可能的重複http://stackoverflow.com/questions/9630430/upload-large-file-in-android-without-outofmemory-error) –
[如何在android中將多部分表單數據和圖像上傳到服務器?](http://stackoverflow.com/questions/19026256 /如何上傳多部分形式的數據和圖像到服務器在Android) – Sufian