2016-06-28 18 views
0

Wie Sie eine Bilddatei über Rest-APIs erhalten. Es gibt eine Option von MULTIPART_FORM_DATA, die aussieht, als würde sie Dateien in Teilen senden, wie in mehr als einer Anfrage. Ich möchte Bilder sehr schnell auf dem Server empfangen. ungefähr 2 Bilder pro Sekunde.Empfangen von Bilddateien über den Rest Api

+0

Bitte schauen Sie sich auf dieser [Hilfeseite] (http://stackoverflow.com/help/how-to-ask) an, wie Sie eine gute Frage stellen: Ihre Frage ist zu vage und bietet kein Beispiel von dem, was du versucht hast. – DenisGL

+0

mit Base64-Format – CSK

+0

Danke @CSK base64 erweist sich als eine gute Option. – sunder

Antwort

1

Einfach Bild in einer File lesen und Response Klasse verwenden, um die Antwort zu erstellen.

Es gibt andere Variationen derselben.

Lesen Sie das Bild wie folgt.

URL url = new URL("http://localhost:8080/myimage/1"); 
URLConnection connection = url.openConnection(); 

input = connection.getInputStream(); 
byte[] buffer = new byte[1024]; 
int n = - 1; 

OutputStream fos = new FileOutputStream("Output.jpg"); 
while ((n = input.read(buffer)) != -1) 
{ 
    fos.write(buffer, 0, n); 
} 
fos.close(); 

Sie können Apache HTTP-Client verwenden, um es schönere zu machen.

+0

Ich möchte das Bild auf der Serverseite erhalten. Ich plane, @FormDataParam zu verwenden. Gibt es einen anderen effizienten Weg? – sunder

+0

Sie müssen nur einen HTTP-Client verwenden, um die Datei herunterzuladen. Es gibt nichts anderes als einen einfachen 'inputstream' zu lesen. – 11thdimension

+0

@sunder, ich dachte, du wolltest eine REST-API aufrufen, um Bilder hochzuladen.' @ FormDataParam' ist in Ordnung. – 11thdimension