Ios NSUrlConnection-上载文件并发送POST参数

Ios NSUrlConnection-上载文件并发送POST参数,ios,post,upload,nsurlconnection,Ios,Post,Upload,Nsurlconnection,我试图上传一个(可能很大)文件,使用的策略与我下载文件时使用的策略类似——I。E使用流。 我正在将我的NSMutableUrlRequest的HTTP正文设置为: [request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]]; 然后将其体流设置为: [request setHTTPBodyStream:inputStream]; 但是请求的主体被设置为nil 只能将NSInputStream或NSData对象设置为

我试图上传一个(可能很大)文件,使用的策略与我下载文件时使用的策略类似——I。E使用流。 我正在将我的
NSMutableUrlRequest
的HTTP正文设置为:

[request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]];
然后将其体流设置为:

[request setHTTPBodyStream:inputStream];

但是请求的主体被设置为nil

只能将
NSInputStream
NSData
对象设置为请求主体,而不能同时设置两者

您可能要完成的是设置一个多部分表单请求。老实说,以NSInputStream为主体,出于一系列原因,这是一项相当具有挑战性的任务。我建议使用第三方库

可以发送多部分表单请求的网络库的实现,将具有
NSSInputStream
的部分作为部分主体,将需要一组助手类,可能包含5000多行代码。查看AFNetworking,了解实现多部分请求时所需的复杂性