Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从流中以多部分方式上载NSData?_Ios_Multipart - Fatal编程技术网

Ios 从流中以多部分方式上载NSData?

Ios 从流中以多部分方式上载NSData?,ios,multipart,Ios,Multipart,我想上传一些NSData到服务器,我想使用多部分方法。关于这一点,stack上有几个问题,但是,我希望能够在iOS上处理大型文件,因此在内存中完全加载资产并不总是一个选项,我想知道是否可以将文件从磁盘流式传输到多部分请求中 这: 是我发现的众多问题之一,但正如您所见,他们将数据加载到内存中,然后立即将其粘贴到请求中: [postbody appendData:[NSData dataWithData:YOUR_NSDATA_HERE]]; 有什么想法吗?您有没有研究过可以传递给NSData的

我想上传一些NSData到服务器,我想使用多部分方法。关于这一点,stack上有几个问题,但是,我希望能够在iOS上处理大型文件,因此在内存中完全加载资产并不总是一个选项,我想知道是否可以将文件从磁盘流式传输到多部分请求中

这:

是我发现的众多问题之一,但正如您所见,他们将数据加载到内存中,然后立即将其粘贴到请求中:

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

有什么想法吗?

您有没有研究过可以传递给
NSData
dataWithContentsOfURL:options:error:
方法的选项?我自己还没有试过,但似乎
NSDataReadingMappedIfSafe
可能有用:


如果您使用的是
nsursession
,则可以使用
uploadTaskWithRequest:fromFile:
上载文件内容,任务负责读取文件。也许任务会将文件分块读取

如果文件中没有数据,可以使用
uploadTaskWithStreamedRequest:
。您为任务提供了一个委托,该委托实现了
URLSession:task:needNewBodyStream:
,为任务提供了一个输入流。您可以实现
NSInputStream
来返回数据块