使用javascript获取base64图像
我需要通过输入文件上传一个图像,将其转换为base64并使用ajax将其发送到API。我可以转换图像,但不能将base64返回到变量中以生成json。这是我的密码: HTML 它在控制台中返回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但它返回未定义的。我不知道发生了什么:(我将感谢您的帮助。以下
因此,我尝试将其保存到一个变量中,并对其进行更改:
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 likevar 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()
})