小编典典

如何在JavaScript中将文件转换为base64?

javascript

现在,我通过此行获取File对象:

file = document.querySelector('#files > input[type="file"]').files[0]

我需要在base 64中通过json发送此文件。如何将其转换为base64字符串?


阅读 956

收藏
2020-04-25

共1个答案

小编典典

现代ES6方式 (异步/等待)

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();

UPD:

如果您想捕捉错误

async function Main() {
   const file = document.querySelector('#myfile').files[0];
   const result = await toBase64(file).catch(e => Error(e));
   if(result instanceof Error) {
      console.log('Error: ', result.message);
      return;
   }
   //...
}
2020-04-25