我想从相机胶卷发送照片到Web服务 - 包括其exif数据。 即时通讯使用ASIFormDataRequest - 所以我做的:ALAsset,将照片发送到包含其exif数据的Web服务
ASIFormDataRequest *request = [[ASIFormDataRequest alloc]initWithURL:url];
为了节省内存我直接要发送的文件:
[request addFile:localPath forKey:@"image"];
所以我需要资产的本地路径。 我觉得我不能让资产的本地路径,所以我的资产暂时保存到一个文件:
ALAsset* selectedAsset = [assets objectAtIndex:index];
CGImageRef imageRef = selectedAsset.defaultRepresentation.fullScreenImage;
UIImage* image = [UIImage imageWithCGImage:imageRef];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachesDirectory = [paths objectAtIndex:0];
NSData* imageData = UIImagePNGRepresentation(image);
NSString* filePath = [NSString stringWithFormat:@"%@/imageTemp.png",cachesDirectory];
[imageData writeToFile:filePath atomically:YES];
再后来我使用此路径做
[request addFile:localPath forKey:@"image"];
图像获取发送到服务器 - 但没有我需要的exif数据。除此之外,我认为必须有一个更明智的方式来做到这一点。
TIA
你用url属性尝试ALAsset的默认表示? – Johnmph
是的。似乎只是为了识别,就我所测试的情况而言,您无法使用它来访问资产。例如[NSData dataWithContentsOfURL:]返回nil。 – HeikoG