1

我需要在后台为我的应用程序上传文件。

所以我查看了uploadtask方法,但它实际上需要一个fileurl来处理后台传输。将我的对象放在 JSON/XML 中并将其保存为文件并不是什么大不了的事,但它需要在我的服务器端进行更改。

但是,我注意到有一种方法可以使用 downloadtask 上传文件,它还返回正文响应。

基本上,我会在内存中创建我的对象,并将其作为 NSData (byte[]) 添加到我的下载请求中。它确实有效,但我担心可能存在内存/连接错误,因为它不仅是磁盘上的文件,而且是内存,而且我们处于后台状态......

这是正确的方法吗?或者我可能有连接问题?

谢谢!

4

1 回答 1

1

我认为没关系,这是由 Apple 记录的

使用下载任务上传文件

要为下载任务上传正文内容,您的应用必须提供 NSData 对象或正文流作为创建下载请求时提供的 NSURLRequest 对象的一部分。

如果您使用流提供数据,您的应用必须提供 URLSession:task:needNewBodyStream: 委托方法,以便在身份验证失败时提供新的正文流。使用流上传正文内容中进一步描述了此方法。

下载任务的行为就像数据任务一样,只是数据返回到您的应用程序的方式不同。

于 2014-09-25T13:58:35.010 回答