我需要在后台为我的应用程序上传文件。
所以我看了uploadtask方法,但它实际上需要一个fileurl来处理后台transfert。将我的对象放在JSON/XML中并将其保存为文件并不是什么大不了的事情,但它需要在我的服务器端进行更改。
然而,我注意到有一种方法可以使用downloadtask上传文件,该方法还会返回body响应。
基本上,我会在内存中创建我的对象,并在下载请求中将其添加为NSData(byte[])。它确实有效,但我担心可能存在内存/连接错误,因为它不仅是磁盘上的文件,而且是内存处于后台状态。。。
这样做正确吗??或者我可能有连接问题?
谢谢!
我认为没关系,这是由Apple 记录的
使用下载任务上传文件
若要上载下载任务的正文内容,您的应用程序必须提供NSData对象或正文流作为NSURLRequest的一部分创建下载请求时提供的对象。
如果您使用流提供数据,则您的应用程序必须提供URLSession:task:needNewBodyStream:委托方法以提供新的身份验证失败时的主体流。这种方法是在使用流上传正文内容中进一步描述。
下载任务的行为与数据任务类似,除了数据将返回到您的应用程序。