从HTML输入标记

时间:2017-03-25 09:50:38

标签: javascript html image

我想用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()

1 个答案:

答案 0 :(得分:1)

您应该传递src元素的input属性,因为它应该包含它显示的网址。

toDataUrl(document.getElementsByName('myImage')[0].src, function...)