在Android中,如何將二進制文件上傳到服務器似乎非常混亂,因爲一些圖書館已經過時,而且缺乏現在應該使用的方法。 任何人都可以給如何上傳二進制文件或任何文件到Android的服務器的指針?上傳Android中的文件
我不想使用任何依賴關係,除非他們真的需要。
在Android中,如何將二進制文件上傳到服務器似乎非常混亂,因爲一些圖書館已經過時,而且缺乏現在應該使用的方法。 任何人都可以給如何上傳二進制文件或任何文件到Android的服務器的指針?上傳Android中的文件
我不想使用任何依賴關係,除非他們真的需要。
在信息缺乏什麼樣的服務器,這可能是,我發現this
OkHttpClient client = new OkHttpClient();
OutputStream out = null;
try {
URL url = new URL("http://www.example.com");
HttpURLConnection connection = client.open(url);
for (Map.Entry<String, String> entry : multipart.getHeaders().entrySet()) {
connection.addRequestProperty(entry.getKey(), entry.getValue());
}
connection.setRequestMethod("POST");
// Write the request.
out = connection.getOutputStream();
multipart.writeBodyTo(out);
out.close();
// Read the response.
if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) {
throw new IOException("Unexpected HTTP response: "
+ connection.getResponseCode() + " " + connection.getResponseMessage());
}
}
finally {
try { if (out != null) out.close(); }
catch (Exception e) {}
}
我認爲你提到的棄用/過時的庫將ApacheHttpClient,因此,我建議OkHttp
(即使用HttpUrlConnection
我相信)。
要添加OkHttp如扶養您可以編輯build.gradle
,如:
dependencies {
//some other dependencies
compile 'com.squareup.okhttp:okhttp:2.7.2'
}
可用版本可以在這裏找到:mvnrepository(無需手動下載,只需添加它們像上面,gradle這個會下載它們本身)
嘗試翻新它對於任何類型的服務器交互都非常有幫助! – Joh