如何在javascript中正确上传文件作为base64



我试图在javascript中将文件作为base64上传,但它抛出错误。

TypeError: FileReader.readAsDataURL: Argument 1 does not implement interface Blob.

这是代码

<input id="file" type="file"/>
<button id="button">upload</button>

document.getElementById('button').addEventListener('click', function() {
var files = document.getElementById('file').files;
var reader = new FileReader();
reader.readAsDataURL(files);
reader.onload = function () {
console.log(reader.result);
alert('my file: ' +reader.result);
};
reader.onerror = function (error) {
console.log('Error: ', error);
}
});
const toBase64 = file => new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
async function Main() {
const file = document.querySelector('#myfile').files[0];
console.log(await toBase64(file));
}
Main();

最新更新