Fileupload als POST mit HttpURLConnection

  • Hallo allerseits,


    ich möchte von meiner App ein paar POST-Daten an einen Server schicken.
    Die Daten bestehen aus ein paar Parametern und einem ByteArray, das einen beliebigen Inhalt haben kann.
    Der Inhalt des ByteArrays ist beispielsweise eine Bitmap.
    Diese soll auf dem Server unter dem angegebenen Namen new_fn gespeichert werden.


    Ich bekomme das allerdings nicht hin.


    Was funktioniert:
    Aufbau einer Verbindung und Übertragung der POST-Parameter an den Server; diese werden korrekt empfangen, der Server quittiert den Empfang auch mit einem ResponseCode 200.


    Was nicht funktioniert:
    Der Server schreibt kein File; ich nehme an, es werden auch keine Daten empfangen; jedenfalls gibt im PHP-Code eine Abfrage beispielsweise von $_FILES['file']['type'] keine Ausgabe - es sollte mime=image/png sein.


    Der PHP-Code zum Speichern des Files lautet

    Code
    move_uploaded_file($_FILES['filename']['tmp_name'], 'uploadFolder/' . $_POST['fn'])

    Der zugehörige Java-Code wirft keine Fehler; SERVERURL stimmt, "magic" und "fn"(= String new_fn, der Filename) kommen beim Server an, mime ist korrekt, und ByteArrayOutputStream outStream sind ca. 100 kB (im Test eine Bitmap im PNG-Format).


    Falls jemanden interessiert, woher ich die Angaben zur Übertragung habe: https://www.w3.org/TR/html401/…ct/forms.html#h-17.13.4.2 (ganz unten).


    Ich vermute, dass die Übergabe aus dem outStream nicht funktioniert, weiß aber nicht, wie die Zeile stattdessen lauten muss.
    Jemand eine Idee?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!