gpt4 book ai didi

javascript - 如何将多个文件转为base64字符串?

转载 作者:行者123 更新时间:2023-12-04 10:58:59 24 4
gpt4 key购买 nike

我有一个这样的组件

<input type="file" multiple @change="toBase64Handler($event)">

<script>
data() {
return {
files: [],
}
},
methods: {
tobase64Handler(event) {
// the code
}
}
</script>

我想将所有选定的文件转换为 base64 字符串,如下所示:

files: [
{
selectedFile: 'ajsdgfauywdljasvdajsgvdasdo1u2ydfouayvsdlj2vo8ayasd...'
},
{
selectedFile: 'askdhgoiydvywdljasvdajsgvdasdo1u2ydfoakjgsfdjagswsd...'
},
{
selectedFile: '12edashjvlsljasvdajsgvdasdo1u2ydfouayvsdlj2vo8ayfsd...'
},
]

我该如何实现?

最佳答案

您可以循环调用辅助方法 toBase64 的文件,将所有 Promises 推送到一个数组并解析所有它们:

  toBase64(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
};

async tobase64Handler(files) {
const filePathsPromises = [];
files.forEach(file => {
filePathsPromises.push(this.toBase64(file));
});
const filePaths = await Promise.all(filePathsPromises);
const mappedFiles = filePaths.map((base64File) => ({ selectedFile: base64File }));
return mappedFiles;
}

关于javascript - 如何将多个文件转为base64字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58957130/

24 4 0
文章推荐: google-apps-script - 编辑表单回复时为工作表上更改的行创建 Google 文档
文章推荐: java - Java中兼容类型的正式定义(健全性)
文章推荐: python-3.x - 有没有办法通过与行的交集对 Pandas 列进行排序?
文章推荐: html - 使用 React 映射 JSON 对象时,如何将 从列转换为行?