0

这是我正在使用的代码(来自这个 Stack Overflow 问题,尽管稍作修改):

NSLog(@"Saving File...");

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:[detailDataSourceDict valueForKey:@"filepath"]]];
NSLog(@"This is the link you are downloading: %@",request);
AFHTTPRequestOperation *operation = [[[AFHTTPRequestOperation alloc] initWithRequest:request] autorelease];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"Successfully downloaded file to %@", path);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

[operation start];

我得到 NSLog “成功下载文件到 /Users/xxxx/Library/Application Support/iPhone Simulator/6.0/Applications/F29C1E99-A277-41DC-8205-6556B6123A85/Documents”但是当我在 Finder 中打开该文件夹时,我不'看不到文件。有什么我做错了吗?我的代码中没有错误。任何帮助将不胜感激,谢谢。


更新

我正在使用 AFNetwork 库...

4

1 回答 1

1

您将下载位置设置为实际的文档目录,而不是目录中的文件。更新您的代码以使用目录中的特定文件。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0]; //filepath to documents directory!
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:[path stringByAppendingPathComponent:@"filename.extension"] append:NO];

另外,我认为您可能想要设置inputStream属性而不是outputStream因为您正在下载文件而不是上传文件。

于 2012-11-18T01:55:56.527 回答