Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取图像的base64_Javascript_Html - Fatal编程技术网

Javascript 获取图像的base64

Javascript 获取图像的base64,javascript,html,Javascript,Html,我试图通过使用HTML文件阅读器在HTML中获取图像的base64,但由于某些原因,它不起作用。我的html是: <div></div> 有人能帮我吗?您不能使用FileReader来解决此问题,因为您没有尝试读取本地文件(这是FileReader的目的) 只需使用以下答案转换从web链接拍摄的图像我将不得不反对大多数人,并告诉他们您实际上可以在没有画布的情况下获得它 FileReader无法读取外部文件的说法不完全正确: 您可以给它一个blob作为源代码。 因此,您可

我试图通过使用HTML文件阅读器在HTML中获取图像的base64,但由于某些原因,它不起作用。我的html是:

<div></div>

有人能帮我吗?

您不能使用FileReader来解决此问题,因为您没有尝试读取本地文件(这是FileReader的目的)


只需使用以下答案转换从web链接拍摄的图像

我将不得不反对大多数人,并告诉他们您实际上可以在没有画布的情况下获得它

FileReader
无法读取外部文件的说法不完全正确:
您可以给它一个
blob
作为源代码。
因此,您可以使用
XMLHttpRequest

使其从本地计算机可用,这样上述语句也不会完全错误,
然后从FileReader获取其数据URL

var文件=”http://mw2.google.com/mw-panoramio/photos/medium/23830229.jpg";
var xhr=new XMLHttpRequest();
xhr.onload=函数(e){
getDataURL(this.response);
};
xhr.open('GET',file,true);
//神奇的部分
xhr.responseType='blob';
xhr.send();
函数getDataURL(blob){
var reader=new FileReader();
reader.onload=函数(事件){
var dataURL=this.result;
document.querySelector('img').src=dataURL;
document.querySelector('p').innerHTML=dataURL;
};
var source=reader.readAsDataURL(blob);
}


不幸的是,您的陈述非常准确。有(相当)一些原因。一些是:
FileReader
读取本地文件,而不是远程文件。您不需要对
文件中的URL执行任何操作。这里的任何内容都不会进行任何Base64转换。你应该找到一些教程。javascript解决方案怎么样?
var file = "http://mw2.google.com/mw-panoramio/photos/medium/23830229.jpg";
var reader = new FileReader();
reader.onload = function (e) {
    iconBase64 = e.target.result;
    $('div').append(iconBase64);
}