问题标签 [nsurlsessionuploadtask]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
493 浏览

ios - 使用 nsurlsession 在应用程序崩溃后恢复文件上传

我想使用 NSURLSession 将文件上传到服务器。

案例是: 1.它应该恢复将文件上传到由于应用程序崩溃而停止的服务器。2. 它也应该处理后台上传。

0 投票
0 回答
649 浏览

ios - 应用程序被杀死后使用 NSURLSessionUploadTask 恢复上传任务?

我正在使用以下代码使用 NSURLSessionUploadTask 上传图像

我的文件被正确上传到服务器上,但是如果应用程序在上传过程中被杀死,那么我无法通过获取会话标识符来恢复我的上传状态,然后再恢复它。

谷歌搜索后,我发现如果我的上传被中断,将调用以下委托方法(在我的应用程序重新启动后),但在我的情况下似乎没有调用此方法。

我是使用正确的方法来识别会话标识符还是有其他方法来实现我的要求?

0 投票
2 回答
876 浏览

ios - NSURLSessionUploadTask 获取响应数据

我在使用框架时有一些误解NSURLSession,这就是为什么我决定在没有 AFFramework/Alamofire 的情况下从头开始编写小应用程序。

我有一个 API 需要以下步骤来上传文件:

  1. POST 文件数据
  2. 获取响应 (JSON)
  3. 将一些 json 字段发布到api/save

我有这样一个配置的后台会话:

我已经实现了两种方法:

我汇总所有数据的地方

我将这些数据转换为响应对象。这个响应对象对我来说非常重要。

一切正常,而应用程序在前台,但我在后台遇到问题。

情况1

开始上传数据后,应用程序立即崩溃。根据WWDC,我需要实施

didCompleteWithError并在方法中调用此处理程序。但在调用此方法之前,我需要api/save使用上传响应中的数据进行调用。我怎样才能得到这些数据?

案例2

大部分情况类似。用户在上传过程中停止应用程序。比在几秒钟内加载应用程序,而会话适用于我的任务。现在会话调用didReceiveData,但当然,一些数据丢失。在这种情况下我该怎么办?如何恢复响应数据?

0 投票
2 回答
253 浏览

ios - 为什么 uploadTaskWithRequest:fromData: 需要一个数据参数?

文档uploadTaskWithRequest:fromData:说明了它的request参数:

此请求对象中的正文流和正文数据将被忽略。

为什么忽略正文数据?为什么不使用它而不是要求它通过第二个参数单独传递呢?

0 投票
0 回答
651 浏览

ios - NSURLSession 后台上传使用块传输

我正在使用NSURLSession块传输来执行文件的上传。

问题是当应用程序进入时background它不会执行连续上传,正在进行的上传将暂停并在应用程序进入时恢复foreground

我想实现块上传的连续后台传输。

有什么建议可以实现这一目标吗?

更新:

实施backgroundSessionConfiguration并得到以下错误。

由于未捕获的异常“NSGenericException”而终止应用程序,原因:“后台会话不支持从 NSData 上传任务。

0 投票
2 回答
1031 浏览

ios - NSURLSession 中的 TaskIdentifier 没有改变

我正在尝试通过我的应用程序中的 NSURLSession 上传多个视频。但是每个请求的 taskIdentifier 都是一样的。它不会对每个请求都进行更改。我们如何跟踪我们的请求?我们怎么知道哪一个是完整的?

这是我的代码:

这里:_uploadTask 是 NSURLSessionUploadTask 的实例,_session 是 NSURLSession 的实例,request 是 NSMutableURLRequest 实例,body 是 NSData。 输出为:

0 投票
2 回答
642 浏览

ios - 使用 NSURLSessionUploadTask 上传任务导致 NSURLErrorDomain 错误 -999

我正在使用 NSURLSessionUploadTask 将文件上传到服务器。任务恢复后,每个人都会时不时地失败并显示错误代码

现在应用程序中的任何地方都没有取消代码。是什么导致这个被取消?

0 投票
1 回答
675 浏览

objective-c - 多个文件上传的一个进度条

我正在尝试使用 NSURLSessionTask 上传 2 张图片(一次一张)。

如果上传 2 张图片,如何使用单个进度条显示进度?

0 投票
2 回答
430 浏览

ios - ios中的多部分表单上传,它是如何完成的?

我必须从 iPhone 库中选择图像或视频并将这些选定的图像和视频上传到服务器。我查找了多部分表单上传,但无法获得必要的信息。

我有以下 JSON 结构要发布。

{"uuid":"a6059eb6-2417-4575-8f83-e5eca065a1bb","id":901,"username":"somename","description":"Some Desciption","date":"Some date","title":"Some Title","published":1,"type":"Some Type","responsible":["Person 1","Person 2","Person 3"],"products_List":["Product 1"],"assets":[{"uuid":"e1102eae-987a-4930-96ad-5ae331d785bc","fileExtension":"jpg","mimeType":"image\/jpeg","type":"image"},{"uuid":"c61bcc45-5347-4e98-9990-bc949dad24fa","fileExtension":"mp4","mimeType":"video\/mp4","type":"video"}]}

0 投票
0 回答
357 浏览

ios - 当 applicationWillEnterForeground 第二次暂停 NSURLSessionUploadTask 恢复

我创建了一个 NSURLSessionUploadTask 任务

创建后我没有调用 task.resume()

当我按下主页按钮并返回应用程序时,任务仍处于“暂停”模式,但是当我再次进入此过程时,我创建的所有任务都会将状态更改为恢复并开始上传。

我在苹果文档中没有找到任何可能导致这种行为的东西,有什么想法吗?

编辑:

查看示例项目 - https://github.com/valeriyvan/NSURLSession-test