So senden Sie ein Bild mit post-Anforderung
Brauche ich zum senden von post-Requests mit Daten im format in der Form Schlüssel=Wert und ich bin arbeiten, wie url ( die url der ws und das ist ok )
HttpEntityEnclosingRequestBase post=new HttpPost();
String result = "";
HttpClient httpclient = new DefaultHttpClient();
post.setURI(URI.create(url));
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
for (Entry<String, String> arg : args.entrySet()) {
nameValuePairs.add(new BasicNameValuePair(arg.getKey(), arg
.getValue()));
}
http.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response;
response = httpclient.execute(post);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream instream = entity.getContent();
result = getStringFromStream(instream);
instream.close();
}
return result;
Dies ist ok, wenn ich senden von String-Daten. Meine Frage ist, was zu ändern, wenn ein parameter Bild-adn-andere Saiten ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie mit mehreren Daten-Typen zu senden über einen HttpClient müssen Sie MultipartEntityBuilder(Klasse im org.apache.http.Entität.mime)
ausprobieren
Wenn Sie schauen, um das Bild zu senden, da die Daten Teil des post-Anfrage, Sie können Folgen einige der links in den Kommentaren.
Wenn die Bild - /Binär-Daten muss unbedingt auf die ein header (die ich nicht empfehlen kann), dann sollten Sie das encodeToString - Methode innerhalb der Base64-Android-Klasse. Ich würde nicht empfehlen dies für große Bilder, da Sie brauchen, um zu laden das gesamte Bild in den Speicher als byte-array vor, können Sie sogar in eine Zeichenkette konvertiert. Sobald Sie es in einen string konvertieren, es ist auch 4/3 seiner vorherigen Größe.
Ich denke, die Antwort, die Sie suchen, in diesem post:
So senden Sie ein Bild mit HTTPPost?
Emmanuel