我試圖將圖像從我的iPhone/iPod touch的上傳到我的在線資源庫,我已經成功地從相冊選擇了圖像的名字,但我現在面臨一個問題,我想知道圖像的名稱,如image1.jpg或類似的東西。我如何知道所選圖像的名稱。的UIImagePickerController - 得到的照片庫中選擇圖像
回答
我想知道確切的映像名稱將不會是相當得到一個唯一的名稱爲攝取的圖像會解決你的目的,使您可以上傳在服務器上的圖像,並通過它的名字跟蹤它的問題。可能是這樣可以幫助你
NSMutableString *imageName = [[[NSMutableString alloc] initWithCapacity:0] autorelease];
CFUUIDRef theUUID = CFUUIDCreate(kCFAllocatorDefault);
if (theUUID) {
[imageName appendString:NSMakeCollectable(CFUUIDCreateString(kCFAllocatorDefault, theUUID))];
CFRelease(theUUID);
}
[imageName appendString:@".png"];
從拾取器中選擇圖像後,您可以生成一個唯一的名稱並將其分配給Picked圖像。 乾杯
我認爲它不可能從照片庫中獲取圖像的確切名稱。 – 2011-05-24 05:31:32
我如何在ARC模式下使用您的代碼? – Rushabh 2013-02-19 06:50:43
而是使用通常的圖像拾取方法(UIImage*)[info valueForKey:UIImagePickerOriginalImage]
,讓你選擇的圖像作爲UIImage的的一個實例的,則可以使用AssetsLibrary.framework
並導出實際的源文件(包括格式,名稱和所有的元數據)。這也保留了原始文件格式(png或jpg)的優點。
#import <AssetsLibrary/AssetsLibrary.h>
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[self dismissPicker];
// try to get media resource (in case of a video)
NSURL *resourceURL = [info objectForKey:UIImagePickerControllerMediaURL];
if(resourceURL) {
// it's a video: handle import
[self doSomethingWith:resourceURL];
} else {
// it's a photo
resourceURL = [info objectForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibrary *assetLibrary = [ALAssetsLibrary new];
[assetLibrary assetForURL:resourceURL
resultBlock:^(ALAsset *asset) {
// get data
ALAssetRepresentation *assetRep = [asset defaultRepresentation];
CGImageRef cgImg = [assetRep fullResolutionImage];
NSString *filename = [assetRep filename];
UIImage *img = [UIImage imageWithCGImage:cgImg];
NSData *data = UIImagePNGRepresentation(img);
NSString *cacheDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
NSURL *tempFileURL = [NSURL fileURLWithPath:[cacheDir stringByAppendingPathComponent:filename]];
BOOL result = [data writeToFile:tempFileURL.path atomically:YES];
if(result) {
// handle import
[self doSomethingWith:resourceURL];
// remove temp file
result = [[NSFileManager defaultManager] removeItemAtURL:tempFileURL error:nil];
if(!result) { NSLog(@"Error removing temp file %@", tempFileURL); }
}
}
failureBlock:^(NSError *error) {
NSLog(@"%@", error);
}];
return;
}
}
什麼是創造時,你已經擁有你需要的所有數據的臨時文件的目的是什麼? – 2014-03-11 19:11:11
確實不是這段代碼所必需的。它在這裏結束了,因爲我通常喜歡通過一個相當小的URL不是巨大的物體,以避免內存壓力可能會崩潰的舊設備。 – auco 2014-03-11 22:59:47
- 1. 使用的UIImagePickerController檢索照片庫中選擇圖片
- 2. UIImagePickerController - 從照片庫中選擇背景中的視頻
- 3. iphone圖像細節(從照片庫中選擇)
- 4. [iOS]從照片庫中選擇圖片
- 5. 如何顯示剛剛選擇的照片庫中的圖像?
- 6. 使用UIImagePickerController選擇多張照片
- 7. UIImagepickercontroller沒有選擇圖片
- 8. 支持照片選擇的jQuery圖庫
- 9. UIImageView沒有更新與圖片拍攝後的新圖像或從照片庫中選擇的圖片
- 10. 如何使用UIImagePickerController從照片庫中刪除圖像
- 11. UIImagePickerController繼續選擇圖像
- 12. UIActivityViewController - 與像照片應用程序選擇圖片庫分享
- 13. 的UIImagePickerController選擇多個圖片
- 14. 的UIImagePickerController與圖片庫使用固定大小的照片
- 15. 從iOS照片庫中選擇的圖片不顯示在UIImageView中
- 16. 要求用戶從照片庫或照相機中選擇照片swift2
- 17. 保存圖像到iPhone的照片庫
- 18. 從沒有選擇器的照片庫加載圖像?
- 19. 從庫中選擇照片,用所選照片替換背景圖片
- 20. 當用戶從照片庫中選擇一個時,圖像被旋轉
- 21. 啓用UIImagePickerController上的照片庫按鈕
- 22. 的UIImagePickerController視頻時長 - 照片庫
- 23. iPad模擬器iOS6,沒有從UIImagePickerController照片庫獲取圖像
- 24. 向UIImagePickerController的工具欄添加「從照片庫中選擇」按鈕
- 25. 使用UIImagePickerController選擇並上傳照片到服務器。
- 26. 如何讓用戶僅從照片庫中選擇照片而不是從照片應用中選擇照片?
- 27. 未顯示照片庫的圖像
- 28. Ipad的照片選擇器
- 29. 從UIImagePickerController中選擇保留圖像
- 30. 斯威夫特3選擇多張照片使用的UIImagePickerController
你是如何挑選圖片的?你可能實際上已經給出了一個文件路徑嗎? – 2011-05-03 06:42:34