0

当我在创建请求后立即设置下载目标文件路径时,我使用 ASIHTTPRequest 将文件下载到 ios 设备,它运行良好,我的代码是:A

SIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    [request setDownloadDestinationPath:@"/Users/zxllf23/Desktop/download/tmp.zip"]];
    [request setTemporaryFileDownloadPath:@"/Users/zxllf23/Desktop/download/tmp.zip.download"]];

但这不舒服,服务器上的 bcs 不同文件有不同的文件名,我们可以从 http 响应头的 Content-Disposition 中检索,所以我想自动确定文件名,我在 requestDidReceiveResponseHeadersSelector: 方法中编写了我的代码

-(void) downloadReceiveRespone:(ASIHTTPRequest *)request
{
    NSString *CoententDecription = [[request responseHeaders] objectForKey:@"Content-Disposition"];
    NSString *filename = [self getFilenameFrom:CoententDecription];

    [request setDownloadDestinationPath:[NSString stringWithFormat:@"/Users/zxllf23/Desktop/download/%@",filename]];
    [request setTemporaryFileDownloadPath:[NSString stringWithFormat:@"/Users/zxllf23/Desktop/download/%@.download",filename]];

}

我在哪里可以成功下载文件,但无法正确打开,我将下载的文件数据与原始文件进行了比较,它们不一样

任何机构都可以在这个问题上帮助我,我将不胜感激。

4

1 回答 1

0

不支持在请求开始后设置 setDownloadDestinationPath,这可以解释为什么它不能正常工作。

请求完成后移动文件,或者自己将数据写入文件。

于 2012-06-18T02:10:28.317 回答