zhhw_dev 发表于 2016-6-16 23:24:31

cordova选取本地图片无法显示

当我使用如下代码选取一张图片并显示的时候,图片无法显示。
提示的错误如下:
Not allowed to load local resource: file:///var/mobile/Containers/Data/Application/6D3021AE-C57B-4812-AA47-62881A922CB7/tmp/cdv_photo_002.jpg


   $cordovaImagePicker.getPictures(options)                  .then(function(results) {                        if ($scope.data.verfyMedias == undefined ||                            $scope.data.verfyMedias == null) {                            $scope.data.verfyMedias = [];                        }                        if (results.length < 1)                            return;                        var media = { url: results[0], type: 0 };                                                $scope.data.verfyMedias.push(media);                  }, function(error) {                  });                  <div style="float:left;" ng-style="verfyMediaImgCss" ng-repeat="media in data.verfyMedias">                        <img ng-style="verfyMediaImgCss" ng-src="{{media.url}}"/>                  </div>

zhhw_dev 发表于 2016-6-17 10:18:28

有谁知道怎么解决啊

HelloAndroid 发表于 2016-6-24 11:43:03

我也遇见了这问题你从相册选择图片的时候返回回来的路径 是什么开头的 FIle 还是 Content

wang_xin_2011 发表于 2016-6-24 15:37:39

楼主可以改cordova获取图片后返回类型,你可以将返回的类型为图片url改为图片为base64,base64显示就很好处理了。
//类型说明
DestinationType:{
    DATA_URL: 0,         // Return base64 encoded string
    FILE_URI: 1,         // Return file uri (content://media/external/images/media/2 for Android)
    NATIVE_URI: 2      // Return native uri (eg. asset-library://... for iOS)
},
cordova的配置
navigator.camera.getPicture(onPhotoDone, onPhotoFail, { quality: 100, targetWidth: 150, targetHeight: 150, destinationType: navigator.camera.DestinationType.DATA_URL
                ,sourceType: navigator.camera.PictureSourceType.SAVEDPHOTOALBUM });
页: [1]
查看完整版本: cordova选取本地图片无法显示