Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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_Jquery_Image_Base64 - Fatal编程技术网

使用javascript获取base64图像

使用javascript获取base64图像,javascript,jquery,image,base64,Javascript,Jquery,Image,Base64,我需要通过输入文件上传一个图像,将其转换为base64并使用ajax将其发送到API。我可以转换图像,但不能将base64返回到变量中以生成json。这是我的密码: HTML 它在控制台中返回base64映像 因此,我尝试将其保存到一个变量中,并对其进行更改:console.log(fileLoadedEvent.target.result)通过此:让pictureEnconde=fileloadevent.target.result但它返回未定义的。我不知道发生了什么:(我将感谢您的帮助。以下

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

HTML

它在控制台中返回base64映像


因此,我尝试将其保存到一个变量中,并对其进行更改:
console.log(fileLoadedEvent.target.result)通过此:
让pictureEnconde=fileloadevent.target.result但它返回未定义的。我不知道发生了什么:(我将感谢您的帮助。

以下是一个可能对您有所帮助的示例:

var文件=null;
函数toBase64(文件){
var reader=new FileReader();
reader.readAsDataURL(文件);
reader.onload=函数(){
file=reader.result
console.log(文件);
};
}

感谢您的回答,它将结果显示到控制台中,就像我的代码一样,但我真正需要的是将其存储到变量中。您可以声明任何变量,而不是console.log like
var file=reader.result
。到底是什么问题?是的,我这样做了,但随后返回未定义的:(在顶部声明变量并在onload函数中重写它检查更新;哈哈,我几个小时前也尝试过同样的方法,但没有成功,现在成功了。非常感谢!
<input id="picture" type="file">
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()
})