问题标签 [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 投票
0 回答
191 浏览

ios - IOS 7从文件上传任务到GRAILS

我正在尝试使用 NSURLSession 和 NSURLSessionUploadTask 将文件从 IOS 应用程序上传到 GRAILS 后端。

请求成功到达服务器,但不幸的是我不知道如何从请求中上传文件。我试过了:

但都不适合我。有人知道 uploadTaskWithRequest 方法如何将文件放入请求中吗?

0 投票
2 回答
2230 浏览

ios - 使用缓冲区 iOS 7 上传

我正在尝试使用随机数据实现上传并测量速度。现在我正在像这样生成我的随机 NSData:

但是如果我想上传一个大文件会有内存问题......

我的上传过程是这样的:

有没有办法用缓冲区或其他东西上传?!喜欢生成小数据,上传这个并生成一个新的然后再次上传?!

0 投票
2 回答
1398 浏览

ios - NSURLSession backgroundSession 完成时的附加 API 调用

我需要通过 PUT 将内容上传到 AWS S3,可以使用 NSURLSessionUploadTask 在后台会话中运行。

到目前为止效果很好。但是,一旦上传到 S3 完成,我需要调用我的 API 以将其状态更改为完成。

我使用 AWSS3 创建 S3 请求,然后根据此 SO answer将其复制到 NSURLSessionUploadTask 。这在前台和后台运行,并将文件 ok 上传到 S3。

现在这是我需要帮助的部分。我尝试使用 URLSession:task:didCompleteWithError 和 URLSessionDidFinishEventsForBackgroundURLSession 委托方法来调用我的附加 API 请求,我使用了标准数据任务和下载任务,它们似乎不会在后台触发请求,直到我再次打开应用程序。理想情况下,我希望他们立即开火。他们确实上传的火是在前台。我已经看到 Wunderlist 完全按照我在后台尝试做的事情,但不确定他们是如何做到的。

这是我到目前为止所拥有的......任何帮助/建议都会很棒,这让我发疯!:)

AppDelegate.h

编辑我也尝试了以下方法。任务像以前一样创建,当我恢复任务时仍然不会触发。

然后在视图控制器中

0 投票
1 回答
1138 浏览

ios - 尝试在后台上传时发生 NSURLSessionUploadTask 崩溃

在我的应用程序中,当应用程序进入后台时,我尝试将一些数据上传到服务器。这是我正在使用的代码:

会议

这就是我的会话设置方式

开始上传

上传

错误

现在这是我得到的错误:

在此处输入图像描述

我希望有人能帮助我。我已经调查了我所知道的一切,但似乎无法弄清楚出了什么问题。我也尝试在不使用块的情况下上传,但结果是一样的。

任何帮助将不胜感激!

0 投票
1 回答
2158 浏览

ios - Does NSURLSession support FTP upload?

I want to upload files to an FTP. I would like to use NSURLSession for its backgrounding support. Apple documentation says it is supported but so far I have been unable to find it. The POC I have done is as follows:

The sample code from apple here uses NSStreams which I would like to avoid. On the other hand Apple's URL programming guide here says:

The URL loading system provides support for accessing resources using the following protocols:

  • File Transfer Protocol (ftp://)
  • Hypertext Transfer Protocol (http://)
  • Hypertext Transfer Protocol with encryption (https://)
  • Local file URLs (file:///)
  • Data URLs (data://)

So far I have searched through NSURLSessionUploadTask and NSURLSessionDataTask but I have only been able to find HTTP protocols, which will not work for FTP.

Much appreciate any help and thanks in advance.

0 投票
1 回答
4698 浏览

php - 将图像从 iOS 上传到 PHP

我正在尝试通过 PHP 将图像从我的 iOS 应用程序上传到我的网络服务器。这是以下代码:

以下是简单的 PHP 代码:

iOS上的应用程序似乎上传了照片并且进度条正在工作,但是当我检查服务器文件时,文件并没有真正上传。

当我使用以下代码发送图片时,它可以完美运行(编辑:但没有进度条):

并知道我错在哪里?

0 投票
1 回答
32836 浏览

ios - 如何在没有完成块的情况下在 NSURLSession 中获取服务器响应数据

我正在使用NSURLSession背景图片上传。根据上传的图片,我的服务器会给我响应,我会相应地更改我的应用程序。但是当我的应用在后台上传图片时,我无法获得服务器响应,因为没有完成块。

有没有办法在不使用完成块的情况下获得响应NSURLUploadTask

这是我的代码:

但我得到了这个错误..

由于未捕获的异常“NSGenericException”而终止应用程序,原因:“后台会话不支持完成处理程序块。改用委托人。

但是,如果我不能使用完成处理程序,那么我应该如何获得服务器响应。它说使用委托,但我找不到任何可以给我服务器响应的委托方法。

0 投票
1 回答
1244 浏览

ios - Server receives no data from NSURLSessionUploadTask

I'm trying to upload a file via a multipart request using NSURLSessionUploadTask via AFNetworking. The request executes and receives a response from the server, but the server is not receiving the data in the form.

iOS code

Here is the header info for the request from AFNetworkingActivityLogger:

I'm using Django on the server side. Here's the test view:

But both the FILES and POST objects are empty:

This works without the multipart request- just sending a POST request without a file upload the QueryDict is populated. One thing I'm unsure about is the fact that the body of the request is "(null)" according to the AFNetworkingActivityLogger output.

Any help is appreciated! I'm stumped.

0 投票
2 回答
1754 浏览

ios - 检查发生了哪种 NSURLSessionTask

我似乎遇到了麻烦。出于某种原因,如果我尝试检查NSURLSessionTask对象的类类型,它根本不起作用。如果我检查它们的taskDescription属性,如果我在启动任务之前设置它们,这当然有效。我只想知道为什么下面的代码对我不起作用。感谢您提供的任何帮助!

0 投票
0 回答
1117 浏览

ios - NSURLSession 多个后台上传

在我的应用程序中,我正在创建一个带有单个标识符的后台会话(使用单例方法),当用户尝试上传他们的“订单”时,该会话有大约 50-100 个上传任务(图像)。每个订单有大约 25 张图片要上传。

我将 OrderID 存储为 taskDescription,我的委托方法如下所示

}

所有订单都可以上传到我的服务器。它更新 UI 和 CoreData 是问题所在。如果我排队上传 3 个订单,似乎所有 3 个上传,但最后它说一个订单仍未上传。

仅出于调试目的,这是我的 viewWillAppear

起初使用此应用程序时,日志将显示“viewWillAppear”,然后显示“任务计数”和所有上传任务,但在我尝试上传或使用该应用程序后,它更像是我的后台会话所在的线程完全停止工作无论我等多久,唯一会被记录的是“viewWillAppear”。

好像有什么东西阻塞了我的后台线程/队列。有时我也会有处于运行状态的任务不做任何事情..

非常感谢任何帮助/建议。