Android Video hochladen zu Remote-Server mit HTTP-Multipart-Formulardaten

7

Ich habe Probleme mit einem bestimmten Teil eines aktuellen Projekts und fühle mich, als würde ich gerade feststecken. Ich versuche einen Video-Upload mit einem HTTP-Post und mehrteiligen Formulardaten durchzuführen. Ich habe das Gefühl, dass ich das Verständnis für das HTTP-Protokoll und speziell für mehrteilige Formulardaten verloren habe.

Ich habe eine URL zum Hochladen von Videos im Format Ссылка . Ich muss natürlich auch einen Titel, eine Beschreibung und die VideoFile hinzufügen. Sind das die "mehrteiligen Daten"?

Ich habe versucht, diese Lösung an meine Bedürfnisse anzupassen. Video von Android auf Server hochladen ? und legt die zusätzlichen Daten nach allen anderen conn.setRequestProperty () -Aufrufen wie folgt fest:

%Vor%

Aber das funktioniert nicht für mich. Es gibt einen Kommentar vom ursprünglichen Autor des Codes, um mehrteilige Formulardaten etwa 30 Zeilen später hinzuzufügen, aber ich verstehe nicht warum. Danke für jede Hilfe.

    
Kyle Clegg 22.06.2012, 21:30
quelle

1 Antwort

19

Hier ist die Zwei-Schritt-Lösung, die ich gefunden habe, hauptsächlich aus den Informationen und Links, die gefunden wurden: hier . Diese Lösung war für mich einfacher zu verstehen als die upload2server () -Methode in einigen der zugehörigen SO-Posts. Hoffe, das hilft jemand anderem.

1) Wählen Sie die Videodatei aus der Galerie.

Erstellen Sie eine Variable private static final int SELECT_VIDEO = 3; - es spielt keine Rolle, welche Nummer Sie verwenden, solange Sie sie zu einem späteren Zeitpunkt überprüfen. Verwenden Sie dann eine Absicht, um ein Video auszuwählen.

%Vor%

Verwenden Sie onActivityResult (), um die uploadVideo () -Methode zu starten.

%Vor%

2) Gehen Sie zu Ссылка , laden Sie das neueste HttpClient-Jar herunter, fügen Sie es zu Ihrem Projekt hinzu und laden Sie das Video mit die folgende Methode:

%Vor%

Sobald Sie es funktioniert haben, werden Sie es wahrscheinlich in einen Thread einfügen und einen Upload-Dialog hinzufügen, aber das wird Ihnen den Anfang machen. Arbeitet für mich nachdem ich die upload2Server () Methode vergeblich versucht habe. Dies funktioniert auch für Bilder und Audio mit ein paar kleinen Feinabstimmungen.

    
Kyle Clegg 22.06.2012, 21:35
quelle