使用javascript获取base64图像

时间:2018-07-16 23:50:53

标签: javascript jquery image base64

我需要通过输入文件上传图像,将其转换为base64并使用ajax将其发送到API。我可以转换图像,但是不能将base64返回到创建json的变量中。这是我的代码:

HTML

<input id="picture" type="file">

JS

const picture = document.getElementById("picture")

function loadImageFileAsURL() {
    var filesSelected = picture.files;
    if (filesSelected.length > 0) {
        var fileToLoad = filesSelected[0];
        var fileReader = new FileReader();

        fileReader.onload = function(fileLoadedEvent) {
            console.log(fileLoadedEvent.target.result);
        }

        fileReader.readAsDataURL(fileToLoad);
    }
}

picture.addEventListener('change', function() {
    loadImageFileAsURL()
})

它将在控制台中返回base64映像。

因此,我尝试将其保存到一个变量中,将其更改为:console.log(fileLoadedEvent.target.result);let pictureEnconde = fileLoadedEvent.target.result;却返回未定义。我不知道这是怎么回事:(我会感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

以下是一个示例,可以帮助您:

var file=null;

function toBase64(file) {
   var reader = new FileReader();
   reader.readAsDataURL(file);
   reader.onload = function () {
     file=reader.result
     console.log(file);
   };
}
<input type="file" onchange="toBase64(this.files[0])">