imagePickerController 返回 0 字节的图像
Posted
技术标签:
【中文标题】imagePickerController 返回 0 字节的图像【英文标题】:imagePickerController returns image with 0 bytes 【发布时间】:2016-02-19 02:48:05 【问题描述】:我有一个 iPad 应用程序,我试图让用户用相机拍照,然后将其保存到我的服务器。但由于某种原因,从
返回的 UIImage- (void)imagePickerController:(UIImagePickerController *)thePicker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
返回一个 0 字节的图像...
奇怪的是我可以在 UIImageView 中很好地显示这个图像,但是当我尝试将它保存到我的服务器时,它发送了 0 个字节,所以什么都没有保存。
我被难住了,有什么想法吗?
非常感谢您的任何建议,
【问题讨论】:
请以正确的格式发布代码。 【参考方案1】:试试这个
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
UIImage *chosenImage = info[UIImagePickerControllerOriginalImage];
UIImage *newImage = [self scaleAndRoateImage:chosenImage];
[picker dismissViewControllerAnimated:YES completion:nil];
];
希望对你有帮助
【讨论】:
不幸的是,它也是一样的,choiceImage 和 newImage 都是 0 字节。 奇怪你能试试 NSData *imgData = UIImageJPEGRepresentation(newImage, 1.0); NSLog(@"图像大小(字节):%d",[imgData length]);【参考方案2】:显然在访问信息字典之前关闭 imageController 解决了这个问题。
那就试试吧
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
[picker dismissViewControllerAnimated:YES completion:nil];
UIImage *chosenImage = info[UIImagePickerControllerOriginalImage];
UIImage *newImage = [self scaleAndRoateImage:chosenImage];
];
更多信息:
http://iphonedevsdk.com/forum/iphone-sdk-development/52639-uiimagepickercontroller-issue-did-i-miss-something.html#post266218
【讨论】:
【参考方案3】:签入这个委托方法:
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
UIImage *chosenImage = info[UIImagePickerControllerOriginalImage];
【讨论】:
以上是关于imagePickerController 返回 0 字节的图像的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ImagePickerController 直接显示“相机胶卷”
无法获取 UIImage 以匹配自定义 ImagePickerController 预览
imagePickerController 获取图片的拍照时间等信息
SWIFTUI 警告 imagePickerController 几乎匹配 - 仅在现有的 swift 项目文件中发生
为啥 imagePickerController.mediaTypes = [kUTTypeMovie as String] 包括实时照片作为反弹或循环效果作为视频?