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

标签 javascript image url base64 local

我有一个像这样的 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;
}

凭内存写的,但应该按原样工作。

关于javascript - 如何在 Javascript 中从本地 URL 获取图像并转换为 Base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35436951/

相关文章:

javascript - 使文本仅滚动 HTML 页面的一部分

c# - 如何在 ListView 中创建可点击的链接?

javascript - Jquery show hide 没有按预期工作?

javascript - 连接字符串和 html 元素的数值以增加变量

javascript - 在正则表达式或 2 组之间的运算符不起作用

javascript - 一次动态更改图像 Vanilla javascript

javascript - 在 HTML5 和 Canvas 中制作动画图像

linux - 挂载 Windows XP dd 镜像失败

java - Struts 2 - 适用于任何 URL 的映射操作

url 中的 django 用户名,而不是 id