【问题标题】:Cordova camera plugin: Photo is not displayed when taking a pictureCordova 相机插件:拍照时不显示照片
【发布时间】:2016-05-11 22:12:56
【问题描述】:

我正在使用 Cordova 相机插件,但遇到了问题。

使用时: sourceType: Camera.PictureSourceType.PHOTOLIBRARY我得到了这个网址:content://media/external/images/media/1517

<img ng-src="{{image}}" alt="Description"/> 上使用此网址时 一切都很好

但是当删除sourceType并用手机拍照时,返回的URI是这样的: file:///storage/emulated/0/Android/data/com.ionicframework.myapp/cache/1454450218633.jpg

当这个 URI 返回时,图像不会显示。 有任何想法吗?它在 ionic 框架和 android 设备上。

一些代码这是用来拍照的:

   function takePhoto() {
     var defer = $q.defer();

     navigator.camera.getPicture(function(imageData) {
       defer.resolve(imageData);
     }, function(err) {
       defer.reject(err)
     });

     return defer.promise;
   }

这个方法被调用:

$scope.getImage = function() {
  cameraService.takePhoto().then(function(imageData){
    console.log(imageData);
    $scope.image = imageData;
  }).catch(function(err){
    console.log(err);
  })
}

和供应商白名单:

$compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|file|blob|cdvfile|content):|data:image\//);

更新:

我可以通过使用Camera.DestinationType.DATA_URL 来完成它 但是不能只获取文件url并显示图像吗? 从库中选择照片时它再次起作用,但在拍摄新照片时不起作用。

【问题讨论】:

    标签: android cordova ionic-framework


    【解决方案1】:

    问题在于livereload 功能。 在没有 livereload 的情况下运行应用程序,然后您就可以从该路径加载图片

    【讨论】:

    • 对我来说也一样,然后我发现了这个问题。但是没有办法在 livereload 中也能看到图片?
    猜你喜欢
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    相关资源
    最近更新 更多