PhoneGap中文网

标题: camera 插件在iOS内报错 [打印本页]

作者: ddcat    时间: 2016-1-12 21:01
标题: camera 插件在iOS内报错
本帖最后由 ddcat 于 2016-1-27 19:37 编辑

--------------------原问题--------------------------
使用cordova-camera 和 ngCordova 实现用户头像的拍照或从相册选择后上传。
安卓机测试可以正常拍照上传。

  1. AgentData.getPhoto = function() {
  2.       var actSheet = $ionicActionSheet.show({
  3.         buttons: [
  4.           { text: '拍照' },
  5.           { text: '从相册选择' }
  6.         ],
  7.         titleText: '选择照片',
  8.         cancelText: '取消',
  9.         buttonClicked: function(index) {
  10.           var options = {
  11.             quality : 49,
  12.             destinationType : 0 ,
  13.             sourceType : 0,
  14.             allowEdit : true, //出现裁剪框
  15.             targetWidth : 220,//图片裁剪高度
  16.             targetHeight : 220 //图片裁剪高度
  17.           };
  18.           actSheet();
  19.           if(index == 0){
  20.             options.sourceType = Camera.PictureSourceType.CAMERA;
  21.           } else if(index == 1){
  22.             options.sourceType = Camera.PictureSourceType.PHOTOLIBRARY;
  23.           }
  24.           $cordovaCamera.getPicture(options).then( function(imageData) {
  25.             AgentData.agent.photoSrc = 'data:image/jpeg;base64,' + imageData;
  26.             },
  27.             function (error) {
  28.               console.log(error);
  29.             }
  30.           );
  31.           return true;
  32.         }
  33.       });
复制代码


但是在iOS内拍照和裁切的功能都没问题,但是确认以后,可以返回数据,但是无法正常显示在html内.
xcode内显示:

Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates.


不知道是什么问题,望指教!!


--------------------自己答--------------------------

发现不显示的问题是安全设置的原因。

<meta http-equiv="Content-Security-Policy" content="img-src 'self' *;" ...... >

可以正常显示本地和网络的图片了。

但是使用post上传图片数据总是失败。
安卓是正常的。头疼!





作者: ionicwang    时间: 2016-1-15 13:08
会不会和你base64显示格式有关系




欢迎光临 PhoneGap中文网 (http://bbs.phonegap100.com/) Powered by Discuz! X3.2