javascript - Angular JS 相机插件 base64 字符串

标签 javascript angularjs cordova

我正在尝试在 ionic angular.js 中将相机插件与 cordova 应用程序一起使用。我的问题是,当我获取图片时,它给我的是图像的 url,而不是 base64 字符串 我需要 base64 字符串。 在 Services.js 中

.factory('Camera', function($q) {

   return {
      getPicture: function(options) {
         var q = $q.defer();

         navigator.camera.getPicture(function(result) {
            q.resolve(result);
         }, function(err) {
            q.reject(err);
         }, options);

         return q.promise;
      }
   }

});

我使用上面的代码返回

file:///storage/emulated/0/Android/data/com.example.app/cache/1313513121.jpg

但是我想要base64字符串,因为我将它发送到服务器以将图像保存在服务器中 在 Controller.js 中

$scope.AddImage = function () {
         var options = {
         quality : 75,
         targetWidth: 200,
         targetHeight: 200,
         sourceType: 1
         };

          Camera.getPicture(options).then(function(imageData) {
              alert(imageData);
              var item={
                  image: imageData
              }
             Pictures.push(item);
             $scope.Photos = Pictures;
          }, function(err) {
             console.log(err);
          });
    }

我在上面写了代码。我该如何解决这个问题

提前致谢

最佳答案

[cameraOptions]上使用值为DATA_URLdestinationType选项参数>.

navigator.camera.getPicture( cameraSuccess, cameraError, [ cameraOptions ] );

选项destinationType: Camera.DestinationType.DATA_URL将允许您拍照并检索 Base64 编码的图像。默认设置为destinationType: Camera.DestinationType.FILE_URI,它将检索图像文件位置。

下面是一般代码示例,您可以使用它来调整现有代码。

navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
    destinationType: Camera.DestinationType.DATA_URL
 }); 

function onSuccess(imageData) {
    var image = document.getElementById('myImage');
    image.src = "data:image/jpeg;base64," + imageData;
}

function onFail(message) {
    alert('Failed because: ' + message);
}

文档 here

关于javascript - Angular JS 相机插件 base64 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44819153/

相关文章:

javascript - 测试使用 useEffect Hook 和 apollo 的自定义上下文 Hook

javascript - 搜索 JavaScript 对象键的时间复杂度是多少?

Javascript |回调到clearInterval,可能吗?

JavaScript 非重定向

javascript - AngularJS中临时切换 View

cordova - Angular 2/ionic 2 从本地设备文件系统读取 json 文件

javascript - Angular POST 请求

javascript - AngularJs:将 ng-model 绑定(bind)到单选按钮列表

javascript - webkitTransform 不适用于 ios Phonegap

C# WebBrowser InvokeScript 给出错误