我想用Javascript获取图像的base64。
从这里回答,https://stackoverflow.com/a/20285053/5065874解决了我的部分问题。
基本上,他实现了这个功能:
function toDataUrl(url, callback) {
var xhr = new XMLHttpRequest();
xhr.onload = function() {
var reader = new FileReader();
reader.onloadend = function() {
callback(reader.result);
}
reader.readAsDataURL(xhr.response);
};
xhr.open('GET', url);
xhr.responseType = 'blob';
xhr.send();
}
并像这样使用它:
toDataUrl('http://example/url', function(base64Img) {
console.log(base64Img);
});
但问题是我没有url
传递给toDataUrl(url, callback)
,而是在我的HTML页面上有一个图像输入标记:
<form id="myId">
<input type="image" name="myImage">
</form>
那么为了让函数正常工作,我应该传递给toDataUrl()
?
答案 0 :(得分:1)
您应该传递src
元素的input
属性,因为它应该包含它显示的网址。
toDataUrl(document.getElementsByName('myImage')[0].src, function...)