iphone - 关于使用 ASIHttpRequest 下载文件

标签 iphone ipad download asihttprequest

我计划使用 ASIHttpRequest 从后端服务器下载文件。在采取行动之前,请在此处发布问题以了解有关此功能的更多信息。

如给出的示例源代码:(演示下载远程 JPG 文件)

    ASIHTTPRequest *request;
request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://allseeing-i.com/ASIHTTPRequest/tests/images/small-image.jpg"]];
[request setDownloadDestinationPath:[[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"1.png"]];
[request setDownloadProgressDelegate:imageProgressIndicator1];
[networkQueue addOperation:request];

我的问题是:

  1. 它可以下载任何格式的文件,例如MP3、视频文件等?有任何限制,例如文件大小、超时吗?

好像只需要设置远程文件路径“http://allseeing-i.com/ASIHTTPRequest/tests/images/small-image.jpg”,就可以通过HTTP协议(protocol)远程下载所有内容。

  • 恢复功能怎么样?
  • 它通过 YES/NO 提供“RESUME”设置,这对于正常恢复功能来说足够了吗?例如,如果文件很大,则暂停它,然后希望从上次开始恢复。

    感谢您的任何意见或评论,在将其采用到我的项目中之前,我需要对此进行调查。提前致谢!

    最佳答案

    您同时在 asi http 请求组上发布了此内容,并在那里得到了答案:

    http://groups.google.com/group/asihttprequest/browse_thread/thread/34eced6759cb7327/47aef091a77331fd?lnk=raot#47aef091a77331fd

    (如果您要同时在多个地方发布您的问题,至少有礼貌的是记录下您已经得到答案的事实!)

    答案是(来自 ASIHTTPRequest 作者 BenC):

    1:是的,您可以下载任何大小的任何文件。我认为唯一的理论限制是设备上的可用空间量。

    默认情况下,如果10秒内没有收到任何数据,请求就会超时。您可以通过设置请求的 timeoutSeconds 属性来增加超时期限,或使用 [ASIHTTPRequest setDefaultTimeoutSeconds:x] 更改默认值。请注意,这并不意味着下载必须在 10 秒内完成,只是下载不能卡住超过 10 秒。

    和:

    2:是的,恢复功能是处理较大下载的好方法,特别是在 WWAN 连接上,丢失连接的情况更为常见。关于恢复下载需要记住的两件事是: - 您必须提前配置要恢复的请求 - 如果您可能想在将来的某个时间点恢复请求,则必须在开始下载之前将其设置为恢复(有关详细信息,请参阅文档) - 并非所有下载都可以恢复 - 服务器必须支持您正在下载的资源的恢复。一般情况下,如果内容是动态生成的,则不支持断点续传。

    关于iphone - 关于使用 ASIHttpRequest 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3341658/

    相关文章:

    无论屏幕方向如何,iPhone 中心事件指示器

    php - 使用 php 从给定的 url 下载 apk 文件到服务器

    powershell-2.0 - 在 Windows 7 上使用 powershell 2.0 下载文件

    android - 使用 React Native 下载数据文件以供离线使用

    ios - 从 AVPlayerViewController 中删除缓冲事件指示器

    iphone - ViewController 没有响应 didRotateFromInterfaceOrientation

    iphone - 按下按钮时更改 UIButton 图像

    ios - 支持从右到左的纯布局

    iphone - iPad 上的 AVAudioRecorder 仪表延迟

    Swift 框架在模拟器上加载到 Objective C 应用程序中,但不在设备上加载