我正在尝试从
-documentPicker:didPickDocumentAtURL:
方法。
我试着用
NSData *data = [NSData dataWithContentsOfURL:url];
但它没有按我的预期工作,因为uidocumentpicker在下载文件之前会触发-documentpicker:didpickdocumentturl:-方法。
如何从文件下载时获取nsdata?
先谢谢你,费边。
最佳答案
文件实际上已下载,但您需要使用文件协调器读取文件内容。像这样的事情应该可以:
- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url
{
NSFileCoordinator *coordinator = [[NSFileCoordinator alloc] initWithFilePresenter:nil];
NSError *error = nil;
[coordinator coordinateReadingItemAtURL:url options:0 error:&error byAccessor:^(NSURL *newURL) {
NSData *data = [NSData dataWithContentsOfURL:newURL];
// Do something
}];
if (error) {
// Do something else
}
}