2016-04-02 3 views
0

Wurde die Sammlung von String Params in der Hashmap in der API gesendet. Jetzt ist es notwendig, eine Parameterdatei hinzuzufügen, die ein Image sein muss.Wie Datei (Image) zusammen mit String-Parametern im Körper eines POST gesendet wird api (Volley)

Der Körper des POST api sieht wie folgt:

Key1, Value1, Text 
Key2, Value2, Text 
Key3, Value3, File 

ich viele Beispiele von Multipart-Anfragen gesehen haben, aber keiner das Problem gelöst. Suche nach einem Ansatz/Beispiel.

+0

Was erwartet der Server? Kontrollieren Sie auch den Server? – kichik

Antwort

0

HINWEIS: Es ist eine alternative Möglichkeit, Bild als Datei zu senden.

Sie können versuchen, Image zu BASE64 String zu konvertieren und es als Zeichenfolge zu senden.

Zuerst konvertieren Sie Ihre Bitmap-Byte-Array:

//can use lower value than 100 for more compression or change compression format as JPEG 

ByteArrayOutputStream bAOS = new ByteArrayOutputStream(); 
bitmap.compress(Bitmap.CompressFormat.PNG, 100, bAOS); 
byte[] byteArray = bAOS.toByteArray(); 

Dann kodieren sie BASE64-String:

String encodedString = Base64.encodeToString(byteArray, Base64.DEFAULT); 

es schließlich zu Ihrem hashmap als String setzen.

Verwandte Themen