【问题标题】:imagePickerController returns image with 0 bytesimagePickerController 返回 0 字节的图像
【发布时间】:2016-02-19 02:48:05
【问题描述】:

我有一个 iPad 应用程序,我试图让用户用相机拍照,然后将其保存到我的服务器。但由于某种原因,从

返回的 UIImage
- (void)imagePickerController:(UIImagePickerController *)thePicker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo

返回一个 0 字节的图像...

奇怪的是我可以在 UIImageView 中很好地显示这个图像,但是当我尝试将它保存到我的服务器时,它发送了 0 个字节,所以什么都没有保存。

我被难住了,有什么想法吗?

非常感谢您的任何建议,

【问题讨论】:

  • 请以正确的格式发布代码。

标签: ios xcode ipad uiimage uiimagepickercontroller


【解决方案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];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      相关资源
      最近更新 更多