Ios 从流中以多部分方式上载NSData?
我想上传一些NSData到服务器,我想使用多部分方法。关于这一点,stack上有几个问题,但是,我希望能够在iOS上处理大型文件,因此在内存中完全加载资产并不总是一个选项,我想知道是否可以将文件从磁盘流式传输到多部分请求中 这: 是我发现的众多问题之一,但正如您所见,他们将数据加载到内存中,然后立即将其粘贴到请求中:Ios 从流中以多部分方式上载NSData?,ios,multipart,Ios,Multipart,我想上传一些NSData到服务器,我想使用多部分方法。关于这一点,stack上有几个问题,但是,我希望能够在iOS上处理大型文件,因此在内存中完全加载资产并不总是一个选项,我想知道是否可以将文件从磁盘流式传输到多部分请求中 这: 是我发现的众多问题之一,但正如您所见,他们将数据加载到内存中,然后立即将其粘贴到请求中: [postbody appendData:[NSData dataWithData:YOUR_NSDATA_HERE]]; 有什么想法吗?您有没有研究过可以传递给NSData的
[postbody appendData:[NSData dataWithData:YOUR_NSDATA_HERE]];
有什么想法吗?您有没有研究过可以传递给
NSData
的dataWithContentsOfURL:options:error:
方法的选项?我自己还没有试过,但似乎NSDataReadingMappedIfSafe
可能有用:
如果您使用的是
nsursession
,则可以使用uploadTaskWithRequest:fromFile:
上载文件内容,任务负责读取文件。也许任务会将文件分块读取
如果文件中没有数据,可以使用uploadTaskWithStreamedRequest:
。您为任务提供了一个委托,该委托实现了URLSession:task:needNewBodyStream:
,为任务提供了一个输入流。您可以实现NSInputStream
来返回数据块