Erstellen einer mehrteiligen Post-Anfrage mit komprimierten JPEG-Byte-Array mit Feder für Android

8

Ich habe Spring für Android erfolgreich in meiner Android-App verwendet, um Daten vom / zum Server zu bekommen / zu posten. Jetzt muss ich eine Post-Anfrage für ein mehrteiliges Formular machen, aber ich konnte es nicht so einrichten, wie ich es möchte.

Anwendungsfall: 1. Wählen Sie ein Foto aus der Galerie 2. Laden Sie es mithilfe der Dateiquelle in eine Bitmap 3. Komprimieren Sie die Bitmap zu einem ByteArrayOutputStream 4. Übergeben Sie das Byte-Array (ByteArrayOutputStream.toByteArray ()) an den Server. (Ich muss dies als jpeg nicht Anwendung / Oktett-Stream senden)

Der Serverendpunkt für das Hochladen von Fotos akzeptiert eine Multipartdatei mit nur den folgenden Mime-Typen (Hinweis: akzeptiert MimeType nicht: application / octet-stream ):

%Vor%

Ich habe versucht, die Beispielcode , war bisher jedoch nicht erfolgreich.

Mit dem folgenden Code erhalte ich den folgenden Fehler: org.springframework.web.bind.MissingServletRequest ParameterException: Erforderlicher MultipartFile-Parameter 'Datei' ist nicht vorhanden

Hilfe zu diesem Thema wird sehr geschätzt. Danke und mach weiter so.

Hier ist mein Code:

%Vor%     
Nalin Mello 06.02.2013, 20:42
quelle

2 Antworten

9

Ich bin auf die gleiche Art von Problem gestoßen und die Lösung bestand darin, die org.springframework.core.io.Resource#getFileName() Implementierung zu überschreiben.

In meinem Fall:

%Vor%

Dabei ist imageFilename der Dateiname. Das wird später als Multipart-Header eingefügt: Content-Disposition: form-data; name="your_image_form_item"; filename="20130520_142401.jpg"

Ich hoffe, es hilft!

    
gunar 04.06.2013 07:35
quelle
0

Ich habe auch dieses Problem erlitten. Es stellte sich heraus, dass der Hauptteil meines Problems auf dem Server war, der Server wurde nicht konfiguriert, um mehrteilige Anfragen zu bearbeiten / aufzulösen.

Sehen Sie sich meine ausführliche Antwort hier an. Hoffe es hilft.

    
TrueCoke 20.10.2013 19:21
quelle