How to convert file to base64 in JavaScript?(如何在 JavaScript 中将文件转换为 base64?)
问题描述
UPDTypeScript 版本也可在答案中找到
UPD TypeScript version is also available in answers
现在我通过这一行获取 File 对象:
Now I'm getting File object by this line:
file = document.querySelector('#files > input[type="file"]').files[0]
我需要通过base 64中的json发送这个文件.我应该怎么做才能将它转换为base64字符串?
I need to send this file via json in base 64. What should I do to convert it to base64 string?
推荐答案
现代 ES6 方式 (async/await)
Modern ES6 way (async/await)
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();
更新:
如果你想捕捉错误
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;
}
//...
}
这篇关于如何在 JavaScript 中将文件转换为 base64?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 JavaScript 中将文件转换为 base64?
基础教程推荐
- npm start 错误与 create-react-app 2022-01-01
- 在 contenteditable 中精确拖放 2022-01-01
- 即使用户允许,Gmail 也会隐藏外部电子邮件图片 2022-01-01
- 检查 HTML5 拖放文件类型 2022-01-01
- Bokeh Div文本对齐 2022-01-01
- fetch 是否支持原生多文件上传? 2022-01-01
- 原生拖动事件后如何获取 mouseup 事件? 2022-01-01
- Bootstrap 模态出现在背景下 2022-01-01
- 如何添加到目前为止的天数? 2022-01-01
- Fabric JS绘制具有活动形状的多边形 2022-01-01
