4

iOS 8 の新しい Photos API を使用して写真のファイル拡張子を取得しようとしていますが、今までその方法が見つかりませんでした。iOS 8.0 より前は、次のようなファイル拡張子を取得するために ALAssetRepresentation を使用していました。

// Get asset representation from asset
ALAssetRepresentation *assetRepresentation = [asset defaultRepresentation];

// Extract file extension from the original file name
NSString* fileExt = [[assetRepresentation filename] pathExtension];

写真のファイル拡張子を取得する方法はありますか? PS: 写真アプリのすべての写真にアクセスする必要があるため、新しい写真 API を使用しています。ALassetsLibrary は「最近追加された」写真のみにアクセスできます。

4

4 に答える 4

2

これを行う1つの方法は次のとおりです。

PHImageRequestOptions * imageRequestOptions = [[PHImageRequestOptions alloc] init];
imageRequestOptions.synchronous = YES;

[[PHImageManager defaultManager]
 requestImageForAsset:asset
 targetSize:CGSizeMake(2048, 2048)
 contentMode:PHImageContentModeAspectFit
 options:imageRequestOptions
 resultHandler:^(UIImage *result, NSDictionary *info) {
 }];

ファイル名は info に含まれています。例えば:

PHImageFileURLKey = "file:///var/mobile/Media/DCIM/100APPLE/IMG_0066.JPG";
于 2014-09-20T03:45:32.593 に答える
0

**imageManager.requestImageDataForAsset((images[indexPath.row] as PHAsset), options:PHImageRequestOptions(), resultHandler: {imagedata,dataUTI,Orientation,info in

var str:String=((((info as Dictionary)["PHImageFileURLKey"])! as NSURL).lastPathComponent as String) cell.imageName.text=str as String**

于 2014-12-31T16:35:35.277 に答える
0

これらは、写真から選択された元のファイル名を取得する簡単な方法でもあります

PHAsset *asset; // Init this object with your PHAsset object 

//and then use below line 
NSLog(@"asset ext : %@",[[asset valueForKey:@"filename"] pathExtension]);
于 2016-10-03T11:02:17.837 に答える