如何在使用 UIDocumentPickerViewController 选择文档并下载到设备之前在 iCloud 中查找文档的大小
how to find the size of a document in iCloud before picking it and downloading to device using UIDocumentPickerViewController
如何在选择文件并下载到设备之前在 iCloud 中查找文件的大小 UIDocumentPickerViewController.I 可以将文件下载到设备然后转换为 NSData,我可以确定文件大小,但是可以我们避免下载文档本身并在下载之前预先确定文件大小。我在 uidocumentpickerviewcontroller 中找不到任何方法或 属性。
- (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) {
//assuming the file coordinator has downloaded the file here and provided the new url here
}
}
将文件协调器配置为仅读取元数据而不是下载整个 file.From 此 url 我们使用方法 getPromisedItemResourceValue 获取云中文件的文件大小:forKey:NSURLFileSizeKey错误:
请post任何比这个更有效的答案way.This是对我有用的解决方案
- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url {
NSError *error = nil;
NSFileCoordinator *coordinator = [[NSFileCoordinator alloc] initWithFilePresenter:nil];
[coordinator coordinateReadingItemAtURL:url options:NSFileCoordinatorReadingImmediatelyAvailableMetadataOnly error:&error byAccessor:^(NSURL *newURL) {
NSError *err = nil;
NSNumber * fileSize;
if(![url getPromisedItemResourceValue:&fileSize forKey:NSURLFileSizeKey error:&err]) {
NSLog(@"Failed error: %@", error);
return ;
} else {
NSLog(@"fileSize %f",fileSize.doubleValue);
}
}
}
如何在选择文件并下载到设备之前在 iCloud 中查找文件的大小 UIDocumentPickerViewController.I 可以将文件下载到设备然后转换为 NSData,我可以确定文件大小,但是可以我们避免下载文档本身并在下载之前预先确定文件大小。我在 uidocumentpickerviewcontroller 中找不到任何方法或 属性。
- (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) {
//assuming the file coordinator has downloaded the file here and provided the new url here
}
}
将文件协调器配置为仅读取元数据而不是下载整个 file.From 此 url 我们使用方法 getPromisedItemResourceValue 获取云中文件的文件大小:forKey:NSURLFileSizeKey错误:
请post任何比这个更有效的答案way.This是对我有用的解决方案
- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url {
NSError *error = nil;
NSFileCoordinator *coordinator = [[NSFileCoordinator alloc] initWithFilePresenter:nil];
[coordinator coordinateReadingItemAtURL:url options:NSFileCoordinatorReadingImmediatelyAvailableMetadataOnly error:&error byAccessor:^(NSURL *newURL) {
NSError *err = nil;
NSNumber * fileSize;
if(![url getPromisedItemResourceValue:&fileSize forKey:NSURLFileSizeKey error:&err]) {
NSLog(@"Failed error: %@", error);
return ;
} else {
NSLog(@"fileSize %f",fileSize.doubleValue);
}
}
}