angular - 将 pdf URL 转换为 Base64
问题描述
在我的 Angular 应用程序中,我使用以下代码将任何文件转换为Base64字符串。
handleUpload(event) {
const file = event.target.files[0];
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => {
console.log(reader.result);
};
}
在这里,我想即时将pdf URL转换为base64。这是我要转换 base64 的示例 URL。
https://vadimdez.github.io/ng2-pdf-viewer/assets/pdf-test.pdf
解决方案
您可以使用HttpClient
从 url 获取文件。首先你必须HttpClientModule
导入app.module.ts
import { HttpClientModule } from '@angular/common/http';
imports: [...,
'HttpClientModule',
...]
在您的 component.ts HttpClient
from中导入'@angular/common/http'
并在构造函数中添加实例之后。
constructor(private http: HttpClient) { }
添加方法
convertToBase64(url: string) {
this.http.get(url, { responseType: "blob" }).subscribe(blob => {
const reader = new FileReader();
const binaryString = reader.readAsDataURL(blob);
reader.onload = (event: any) => {
//Here you can do whatever you want with the base64 String
console.log("File in Base64: ", event.target.result);
};
reader.onerror = (event: any) => {
console.log("File could not be read: " + event.target.error.code);
};
});
}