Ich aktualisiere eine App auf API 23, wo org.apache.http
veraltet ist.org.apache.http.entity.FileEntity ist in Android 6 (Marshmallow) veraltet
Mein aktueller (veraltet) Code wie folgt aussieht:
HttpClient httpClient = new DefaultHttpClient();
File file = new File(attr.Value);
String url = server_url;
HttpPost request = new HttpPost(url);
FileEntity fileEntity = new FileEntity(file, "image/png");
request.setEntity(fileEntity);
HttpResponse response = httpClient.execute(request);
String output = getContent(response.getEntity().getContent());
ich einige Vorschläge, wie diese gefunden haben sollte HttpURLConnection
verwenden getan werden, aber sie sind alle sehr viel komplexer dann die aktuelle Lösung (die nicht verwendet werden). Ich spreche über viele Codezeilen zum Ausführen der gleichen Funktionalität wie oben.
Beispiele sind: this page und this page
Hat jemand dafür eine gute und solide kürzere Lösung?
Siehe https://github.com/square/okhttp/wiki/Recipes#posting-a-file und https://github.com/square/okhttp/wiki/Recipes#posting-a-multipart-request für OkHttp Rezepte von potentieller Relevanz. – CommonsWare
@CommonsWare, danke für den Link. Ich habe über OkHttp gelesen und entschieden, es in meiner App zu verwenden. Es kümmert sich um viele Probleme für mich und ist sehr einfach zu bedienen. Danke für den Tipp. Schreibe dies als Antwort und ich werde dich markieren. – Ambran
Eine andere Option für Sie zu verweisen, wenn Sie Volley http://stackoverflow.com/questions/32240177/working-post-multipart-request-with-volley-and-without-htpentiity verwenden möchten – BNK