从UIDocumentPicker下载文件,然后等待下载完成



我正试图从下载一个文件

-documentPicker:didPickDocumentAtURL:

方法。我试着用获取文件的数据

NSData *data = [NSData dataWithContentsOfURL:url];

但它并没有像我预期的那样工作,因为UIDocumentPicker在下载文件之前激发了-documentPicker:didPickDocumentAtURL:-方法。

下载NSData后,如何从文件中获取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
    }
}

相关内容

  • 没有找到相关文章

最新更新