【发布时间】:2015-04-04 04:46:10
【问题描述】:
历史:
我正在做一个需要我们支持的项目:
- 后台使用
NSURLSession上传文件。 - 服务器希望使用
Content-Type: multipart/form-data上传文件 - 以前,我使用
NSURLConnection绑定一对流,如Apple Sample 中所述。 - 现在,我希望通过使用
uploadTaskWithStreamedRequest: 来遵循与NSURLSession(Background Session)类似的方法。 - 我编写了一个小的独立 iOS 示例 + 一个 PHP 服务器来验证我的概念。
问题:如果应用程序停留在前台,一切正常,但如果在上传过程中我按下主页键,上传失败一段时间后出现错误:
Domain=NSURLErrorDomain Code=-997 "失去与后台传输服务的连接"
在上传失败前不久,遇到了写入/生产者流的NSStreamEventEndEncountered。
注意:我知道可以将整个 HTTP Post 正文写入临时文件并改用 NSURLSession's 文件上传 API 的解决方法。但如果我能做到的话,上面更合适。
问题:谁能猜出上传失败的可能原因是什么?
示例代码: 我已将 iOS 示例代码 + PHP 服务器代码上传到 drop box。这是CODE
谢谢!
【问题讨论】:
-
@CouchDeveloper 是的,我做到了。
标签: ios objective-c file-upload nsurlsession nsstream