有没有人有正确的方法来设置ASIHTTPRequest以将下载流式传输到磁盘,而不是将其全部下载到内存然后写入磁盘?
我已经尝试过了,但它似乎并没有将它写入磁盘,因为它接收数据。
ASIHTTPRequest * request = [[ASIHTTPRequest alloc] initWithURL:url];
[request setDownloadDestinationPath:absolutePath];
[request setDownloadProgressDelegate:self];
[request startSynchronous];
我是否需要实现任何委托方法,以便它确实写入磁盘?
由于
答案 0 :(得分:2)
来自ASIHTTPRequest docs:
使用downloadDestinationPath将数据下载到文件时,数据 将在请求进行时保存在临时文件中。 此文件的路径存储在temporaryFileDownloadPath中。当。。。的时候 请求成功完成,发生以下两种情况之一:
如果数据是gzip压缩的(请参阅有关gzip压缩的信息),压缩文件将被解压缩为 downloadDestinationPath,临时文件将被删除
如果数据未压缩,则将临时文件移至downloadDestinationPath,覆盖以前的任何文件
所以,是的:它应该在下载时写入文件,但在下载完成之前不应写入最终目的地。