我正在尝试从

-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
    }
}

07-24 09:49
查看更多