2013-10-17 14 views
6

Ich muss einen Dateiupload für meine App implementieren. Dateien wie Assets (z. B. Foto oder Video) sollten über eine REST-Schnittstelle auf einen Web-Server hochgeladen werden.iOS HTTP Multipart-Formular Streaming Request

Der Upload würde eine Formulardatenanforderung mit benutzerdefinierten Headerattributen verwenden.

Problem: Halten von großen Dateien wie Videos in einem NSData Objekt kann zu Speicherproblemen führen. Dies wäre der Standardansatz.

Lösung Bereitstellung eines NSInputStream für den Körperteil des Antrags - und Datenstück an den HTTP-Körper-Stream-Stück schreiben.

Frage Kann jemand eine exmaple geben, wie mit einem NSURLrequest und NSURLConnection eine NSInputStream in Kombination verwenden?

Ich wickelte meinen Kopf um mehr unvollständigen Beispiele -

aber ich weiß nicht, wie mit der folgenden Methode

- (NSInputStream *)connection:(NSURLConnection *)connection needNewBodyStream:(NSURLRequest *)request 

ich Dritte Bibliothek verwenden will nicht zu behandeln.

Antwort

0

Ich weiß, dass Sie keine Drittanbieterbibliothek verwenden möchten, aber Sie könnten sie vielleicht als Referenz verwenden, um zu sehen, wie Sie solche Aufgaben durchführen?

Sie könnten vielleicht einen Blick auf AFNetworking Code sehen, um zu sehen, wie Mattt solche Dinge erreicht.

Ich würde auch vorschlagen, Sitzungen zu verwenden, die mehr dokumentiert und robust sind (wenn die Zielplattform diese zur Verfügung stellt)