【问题标题】:ngCordova saving Photo to GalleryngCordova 将照片保存到图库
【发布时间】:2016-03-13 00:31:37
【问题描述】:

使用 http://ngcordova.com/ 我在尝试将照片保存到 Android 上的图库时遇到问题。

最初使用以下选项时,文件在拍照后没有将图像数据传回;

var options = {
    destinationType: Camera.DestinationType.FILE_URI,
    sourceType: Camera.PictureSourceType.CAMERA,
    encodingType: Camera.EncodingType.JPEG,
    correctOrientation: true,
    saveToPhotoAlbum: true
};

我发现要解决这个问题,我必须将相机插件从 0.3.6 降级到 0.3.5,感谢 forum

保存的程序如下;

$cordovaCamera.getPicture(options).then(function (imagePath) {
  var currentName = imagePath.replace(/^.*[\\\/]/, '');
  var d = new Date(),
  n = d.getTime(),
  newFileName = n + ".jpg";

  //Move the file to permanent storage
  $cordovaFile.moveFile(cordova.file.externalRootDirectory, currentName, cordova.file.externalRootDirectory + "DCIM/Camera", newFileName).then(function(success){
        //sucess

        }, function(error){
          //an error occured
          //Booooooo
        });

我不想对路径进行硬编码,而只是测试我是否可以在正确的目录中获取照片。我已经尝试过来自 post 的目录。

我在 Nexus 5 上发现虽然 cordova.file.tempDirectory 始终为空。

这是用于保存到图库的相机插件的错误,还是尚未在 Android 上正确实现。

为任何帮助干杯。

【问题讨论】:

    标签: cordova ionic-framework ionic ngcordova


    【解决方案1】:

    我认为您需要对 cache 目录进行硬编码。

    你可以从imagePath知道缓存目录

    只需删除文件名,您将获得cache 目录,相机插件会保存您的照片,然后再将其移动到您想要的external 目录

    *我已经测试过了,在我的例子中,cache 目录是 file:///storage/emulated/0/Android/data/my-app-id/cache

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-15
      • 2015-10-20
      • 2013-12-11
      • 2020-11-28
      • 2023-03-26
      • 2016-06-16
      • 2011-05-11
      • 2012-05-06
      相关资源
      最近更新 更多