请问如何在JavaScript中将文件转换为base 64?

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

现在,我将通过以下一行获得File对象:

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

我需要通过64基地的json发送这个文件。如何将其转换为Base 64字符串?


狐的传说
浏览 436回答 3
3回答

ITMISS

如果您正在寻找一种基于承诺的解决方案,这是@Dmitri的代码,用于此:function getBase64(file) {   return new Promise((resolve, reject) => {     const reader = new FileReader();     reader.readAsDataURL(file);     reader.onload = () => resolve(reader.result);     reader.onerror = error => reject(error);   });}var file = document.querySelector('#files > input[type="file"]').files[0];getBase64(file).then(   data => console.log(data));

慕哥9229398

在Dmitri Pavlutin和joShua.pling答案的基础上,这里提供了一个扩展版本,它提取base 64内容(在开始时删除元数据),并确保填充是正确的.function getBase64(file) {   return new Promise((resolve, reject) => {     const reader = new FileReader();     reader.readAsDataURL(file);     reader.onload = () => {       let encoded = reader.result.replace(/^data:(.*;base64,)?/, '');       if ((encoded.length % 4) > 0) {         encoded += '='.repeat(4 - (encoded.length % 4));       }       resolve(encoded);     };     reader.onerror = error => reject(error);   });}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript