如何从本地URL获取图像并在Javascript中转换为Base64

时间:2016-02-16 15:48:02

标签: javascript image url base64 local

我有这样的网址 - > blob:http%3A // localhost%3A4400 / a558ba4c-076b-490a-999d-92bc85f2bcee,但此URL只能在我的浏览器中呈现,而不能在另一个URL中呈现。

.controller('cameraCtrl', function ($scope, Camera) { 
    $scope.takePhoto= function () { 
        Camera.takePhoto().then(function (urlImage) { 
            $scope.lastPicture = urlImagen; 
        }, 
        function (err) { 
            console.err(err); 
        }, 
        { 
            quality: 50, 
            targetWidth: 50, 
            targetHeight: 50, 
            saveToPhotoAlbum: true 
        }); 
    }; 
}

问题是:如何获取该URL的图像以将其转换为字符串Base64?任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:0)

您应该添加代码,以便人们不必从头开始编写解决方案,但是。

function  ConvertBlobToDataUrl(blobUrl, complete){
   var canvas = document.createElement("canvas");
   var ctx = canvas.getContext("2d");
   var tempImg = new Image();

   tempImg.onload = function(){
      canvas.width = tempImg .width;
      canvas.height = tempImg .height;
      ctx.drawImage(tempImg , 0,0, tempImg.width, tempImg.height);
      complete(canvas.toDataURL())
   }

   tempImg.src = blobUrl;

}

那么用法就是

var dataUrl = "";
ConvertBlobToDataUrl(blobUrl, function(url){
    dataUrl = url;
}

从记忆中写出,但应该按原样运作。