使用多部分请求将大文件上传到服务器并使用休息套件读取进度

Posted

技术标签:

【中文标题】使用多部分请求将大文件上传到服务器并使用休息套件读取进度【英文标题】:Upload a large file to server using multipart request and read the progress using rest kit 【发布时间】:2014-03-25 14:05:50 【问题描述】:

我的应用程序有一个要求,我需要将包含大量数据的文件上传到服务器并跟踪上传进度。

之前我的应用程序只是将数据上传到服务器,我已经使用 rest kit 向服务器发送了多部分请求(我的应用程序使用了 rest kit)。现在我需要向用户说明进度。

我正在尝试了解 rest kit 是否有这样的配置,它会用进度响应视图控制器。

我遇到了几个博客说 AFNetwork 支持这样做。由于 rest kit 使用 AFNetworking,我怀疑应该有一个规定来完成我的任务。不幸的是找不到足够的指针,因此在此处发布。

我想应该有人遇到过这样的需求,等着收到你的指点。

非常感谢任何指针以及可能的代码 sn-ps。

提前致谢。

【问题讨论】:

【参考方案1】:

您可以,并且您使用 AFNetworking 进度回调。

您不能直接使用RKObjectManager,您需要创建适当的NSOperation 来处理您的请求(可能使用appropriateObjectRequestOperationWithObject:method:path:parameters:)。一旦你有了,你可以这样做:

[operation.HTTPRequestOperation setUploadProgressBlock:...];

【讨论】:

以上是关于使用多部分请求将大文件上传到服务器并使用休息套件读取进度的主要内容,如果未能解决你的问题,请参考以下文章

在 Heroku 上使用 Django 将大文件上传到 AWS S3 存储桶而没有 30 秒的请求超时

将大文件上传到服务器时,OAuth 访问令牌已过期

CloudKit 的 CKasset 文件大小限制

如何使用 GoogleDrive REST API 将大文件 (1 GB +) 上传到 Google Drive

将大文件上传到 NodeJS 网络服务器

将大文件切成块并使用 ajax 和 html5 FileReader 上传