Javascript 从url加载图像并将其转换为base64string

Javascript 从url加载图像并将其转换为base64string,javascript,canvas,Javascript,Canvas,我正在尝试从url加载图像并将其转换为base64字符串 我得到的只是一个字符串,但当我使用它作为图像的html源时,图像总是空白的 我做错了什么 function getBase64Image(imgUrl) { var image = new Image(); var canvas = document.createElement("canvas"); var context = canvas.getContext('2

我正在尝试从url加载图像并将其转换为base64字符串

我得到的只是一个字符串,但当我使用它作为图像的html源时,图像总是空白的

我做错了什么

function getBase64Image(imgUrl) {
            var image = new Image();
            var canvas = document.createElement("canvas");
            var context = canvas.getContext('2d');
            image.src = imgUrl;
            context.drawImage(image,0,0);
            return canvas.toDataURL();
        }
函数返回字符串

谢谢。

简单的方法:

$image = file_get_content($url);
$result = "data:image/png;base64,". base64_encode($image);

OP想要一个Javascript的答案。哦,是的。我没有注意到:)这里的解释很好:这里:我使用phonegap,也许我可以使用phonegap文件插件?给你:我还没有试过你的代码。但这可能与首先将画布插入DOM一样简单。由于它与DOM分离,因此可能无法加载映像。仅供参考:您需要等待映像加载。以下是我的工作方式: