【问题标题】:ASIHttpRequest resume DownloadingASIHttpRequest 简历下载
【发布时间】:2011-06-20 10:50:32
【问题描述】:

我有与这篇帖子类似的问题ASIHTTP asynchrounous pdf download

我将使用 setTemporaryFileDownloadPath 恢复下载:但奇怪的是,当我调用 setDelegate 到 self 并异步启动连接时,缓存不会将其保存到temporaryFileDownloadPath 而是我重新标记设置委托,缓存将保存到路径。

    _conn = [[ASIHTTPRequest alloc] initWithURL:_currentURL];
    [_conn setDownloadDestinationPath:_currentFileNameWithPath]; 
    [_conn setTemporaryFileDownloadPath:tempPdfLocation];     
    [_conn setAllowResumeForFileDownloads:YES];
    //[_conn setDelegate:self];
    [_conn startAsynchronous];

我发现每当 - (void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data: 被调用时,缓存都不会保存。有什么想法吗?

【问题讨论】:

    标签: iphone asynchronous asihttprequest resume-download


    【解决方案1】:

    我用过同样的东西。唯一的区别是我必须设置以下选择器:

    [_conn setDidFailSelector:@selector(downloadDidFail:)];
    [_conn setDidFinishSelector:@selector(downloadDidFinish:)];
    [_conn setDidStartSelector:@selector(downloadDidStart:)];
    

    并且不实现在ASIHTTPRequestDelegate 协议中指定为可选的任何其他委托方法。现在下载工作完美,并会在需要时调用集合选择器。

    【讨论】:

    • 但是我需要按字节跟踪下载进度,所以我需要委托请求中的 [数据长度] didReceiveData:.
    • 如果您知道总大小(您可以),您可以附加一个自定义进度委托来接收进度并将其计算为下载的字节数。
    • 是的,它奏效了。我使用了自定义进度委托。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多