我有这样的URL-> blob:http%3A // localhost%3A4400 / a558ba4c-076b-490a-999d-92bc85f2bcee,但是此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?任何帮助都会很棒,谢谢。
最佳答案
您应该添加代码,这样人们就不必从头开始编写解决方案了。
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;
}
从内存中写入,但是应该可以正常工作。