异步数据追加到 ios 中的文件



我想从网络路径下载图像。但由于存在大文件的风险,我认为将部分 NSdata 块直接写入/追加到文档目录中的文件中是个好主意。这可能吗?我有一个异步 URL 设置。它回调给委托

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

方法。在这种方法中,我想将到目前为止下载的"数据"附加到文件中,直接到磁盘上。你能帮一点忙吗?如果这在没有低级 C 的情况下是可能的,那将是完美的。

我从来没有尝试过这个,但从这个苹果文档中,我建议

@property (nonatomic,strong) NSFileHandle *handle;

//somewhere in a init or viewDidLoad
self.handle = [NSFileHandle fileHandleForUpdatingAtPath:filePath]
-(void)connection:(NSURLConnection *)connection 
   didReceiveData:(NSData *)data
{
    [handle seekToEndOfFile];
    [handle writeData:data];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 
    [self.handle closeFile]; 
} 

注意:filePath 必须是现有文件的有效路径,有许多帖子涉及创建文件。

最新更新