2013-10-17 16 views
6

Devo implementare un caricamento di file per la mia app. File come Risorse (che possono essere Foto o Video) devono essere caricati su un server web utilizzando un'interfaccia REST.Richiesta streaming HTTP multipart modulo iOS

Il caricamento utilizza una richiesta di dati modulo con attributi di intestazione personalizzati.

Problema: Tenendo file di grandi dimensioni, come video in un oggetto NSData può portare a problemi di memoria. Questo sarebbe l'approccio standard.

Soluzione Fornire un NSInputStream per la parte del corpo della richiesta - e scrivere i dati pezzo per pezzo al HTTP Corpo Stream.

Domanda Qualcuno può fornire un exmaple di come utilizzare un NSInputStream in combinazione con un NSURLrequest e NSURLConnection?

ho avvolto la mia testa intorno diversi esempi incompleti -

ma non so come trattare con il seguente metodo

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

Non voglio usare qualsiasi libreria di terze parti.

risposta

0

So che non si desidera utilizzare alcuna libreria di terze parti ma si potrebbe forse usarli come riferimento per vedere come eseguire tali attività?

Si potrebbe forse dare un'occhiata al codice AFNetworking per vedere come Mattt ha ottenuto questo tipo di cose.

Vorrei anche suggerire di utilizzare Sessioni, che sono più documentate e robuste (se la piattaforma di destinazione lo rende disponibile)