ddcat 发表于 2016-1-12 21:01:47

camera 插件在iOS内报错

本帖最后由 ddcat 于 2016-1-27 19:37 编辑

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

AgentData.getPhoto = function() {
      var actSheet = $ionicActionSheet.show({
      buttons: [
          { text: '拍照' },
          { text: '从相册选择' }
      ],
      titleText: '选择照片',
      cancelText: '取消',
      buttonClicked: function(index) {
          var options = {
            quality : 49,
            destinationType : 0 ,
            sourceType : 0,
            allowEdit : true, //出现裁剪框
            targetWidth : 220,//图片裁剪高度
            targetHeight : 220 //图片裁剪高度
          };
          actSheet();
          if(index == 0){
            options.sourceType = Camera.PictureSourceType.CAMERA;
          } else if(index == 1){
            options.sourceType = Camera.PictureSourceType.PHOTOLIBRARY;
          }
          $cordovaCamera.getPicture(options).then( function(imageData) {
            AgentData.agent.photoSrc = 'data:image/jpeg;base64,' + imageData;
            },
            function (error) {
            console.log(error);
            }
          );
          return true;
      }
      });

但是在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:29

会不会和你base64显示格式有关系
页: [1]
查看完整版本: camera 插件在iOS内报错