在 angular 中将文件转换为 base64
convert file to base64 in angular
我是 angular 的新手,我想将文件转换为 base64 字符串。我尝试了这个,它给出了 base64 字符串,但是当我尝试使用在线工具解码它时,它没有给出正确的结果,谁能帮助我,谢谢。
我们可以将 pdf 和 word 文件转换为 base64 或只是图像吗?使用我的代码,我成功地转换了图像,但没有转换任何其他文件
我的html代码:
<input type="file" (change)="base($event)">
和我的 ts 代码:
base(event: { target: { files: any[]; }; }) {
const file = event.target.files[0];
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => {
console.log(reader.result);
};
}
您的代码运行良好。您确定您正在正确获取文件对象吗?
下面是相同的stackblitz demo。
另外,读取文件时最好使用promise。您可以使用下面的函数来读取文件。它将文件作为输入并解析为 base64 字符串。
private readBase64(file): Promise<any> {
const reader = new FileReader();
const future = new Promise((resolve, reject) => {
reader.addEventListener('load', function () {
resolve(reader.result);
}, false);
reader.addEventListener('error', function (event) {
reject(event);
}, false);
reader.readAsDataURL(file);
});
return future;
}
调用这个函数如下 -
this.readBase64(file)
.then((data) => {
// your code
});
我是 angular 的新手,我想将文件转换为 base64 字符串。我尝试了这个,它给出了 base64 字符串,但是当我尝试使用在线工具解码它时,它没有给出正确的结果,谁能帮助我,谢谢。
我们可以将 pdf 和 word 文件转换为 base64 或只是图像吗?使用我的代码,我成功地转换了图像,但没有转换任何其他文件
我的html代码:
<input type="file" (change)="base($event)">
和我的 ts 代码:
base(event: { target: { files: any[]; }; }) {
const file = event.target.files[0];
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => {
console.log(reader.result);
};
}
您的代码运行良好。您确定您正在正确获取文件对象吗?
下面是相同的stackblitz demo。
另外,读取文件时最好使用promise。您可以使用下面的函数来读取文件。它将文件作为输入并解析为 base64 字符串。
private readBase64(file): Promise<any> {
const reader = new FileReader();
const future = new Promise((resolve, reject) => {
reader.addEventListener('load', function () {
resolve(reader.result);
}, false);
reader.addEventListener('error', function (event) {
reject(event);
}, false);
reader.readAsDataURL(file);
});
return future;
}
调用这个函数如下 -
this.readBase64(file)
.then((data) => {
// your code
});