Tôi đang sử dụng ELCImagePickerController trong ứng dụng của mình và tôi không muốn lưu fullScreenImage đã chọn vào mảng của mình vì nếu tôi đã chọn 40 hình ảnh iPad thì điều đó không tốt.Làm cách nào để lấy dữ liệu từ UIImagePickerControllerReferenceURL?
Tôi muốn nhận dữ liệu từ UIImagePickerControllerReferenceURL
thay vì UIImagePickerControllerOriginalImage
từ nguyên tắc của phương pháp - (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info
.
Tôi đã thử:
NSDictionary *dict = [info objectAtIndex:count];
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",[dict objectForKey:@"UIImagePickerControllerReferenceURL"]]]];//UIImagePNGRepresentation([UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@",[dict objectForKey:@"UIImagePickerControllerReferenceURL"]]]);
NSLog(@"length %d",[data length]);
imageview.image = [UIImage imageWithData:data];
Tuy nhiên, mỗi khi tôi nhận được 0 byte. Tôi đã thử với tất cả các câu trả lời có sẵn trong diễn đàn nhưng không sử dụng.
Có ai trả lời câu hỏi này không?
cảm ơn câu trả lời của bạn ... tôi đã cố gắng như vậy mặc dù trong nhật ký của tôi tôi nhận được chiều dài là 0 "2012-05-29 18: 32: 13.536 myapp [1793: 707] length 0" –
nó là 0 vì UIImagePickerControllerReferenceURL trả về đối tượng NSURL cho Thư viện nội dung. vì vậy bạn cần sử dụng Thư viện nội dung để tải hình ảnh từ url này. As - NSURL * referenceURL = [info objectForKey: UIImagePickerControllerReferenceURL]; Thư viện ALAssetsLibrary * = [[ALAssetsLibrary alloc] init]; [library assetForURL: referenceURL resultBlock:^(ALAsset * asset) {...} failureBlock:^(lỗi NSError *) {...}]; – saadnib
Đối với những gì nó có giá trị ALAssetsLibrary không được chấp nhận trong iOS 9. Tôi đã thêm một câu trả lời bổ sung dưới đây. – Jessedc