2016-04-01 2 views
0

Я хочу загрузить некоторые NSData на сервер, я хочу сделать это с помощью многопараметрического подхода. Есть несколько вопросов по стеку об этом, но я хочу иметь возможность обрабатывать большие файлы на iOS, поэтому полная загрузка актива в память не всегда является опцией, я хотел бы знать, могу ли я передать поток с диска, в многопрофильный запрос.Загрузить NSData в multipart из потока?

Это: File Upload to HTTP server in iphone programming

является один из многих вопросов, которые я нашел, но как вы можете видеть, что они загрузить данные в память, а затем вставить его в запрос сразу:

[postbody appendData:[NSData dataWithData:YOUR_NSDATA_HERE]]; 

Любой идея?

ответ

0

Если вы используете NSURLSession, то вы можете использовать uploadTaskWithRequest:fromFile:, чтобы загрузить содержимое файла, а задача отвечает за чтение файла. Возможно, задача читает файл в кусках.

Если в вашем файле нет данных, вы можете использовать uploadTaskWithStreamedRequest:. Вы предоставляете задачу делегату, который реализует URLSession:task:needNewBodyStream:, чтобы обеспечить входной поток для задачи. Вы можете реализовать NSInputStream, чтобы вернуть куски данных.

Смежные вопросы