我需要将 Capacitor Camera 插件的结果转换为 Blob 以上传到 Firebase Storage。
我可以上传 Base64 字符串,但我已经从浏览按钮的 FileList 上传了 Blob/文件,所以我不想改变它的设计。
相机插件以 Base64 编码字符串的形式提供图像数据,表示 PNG 图像。
我尝试了以下方法:
const { Camera } = Plugins;
const image = await Camera.getPhoto({
quality: 90,
allowEditing: true,
resultType: CameraResultType.Base64
});
const rawData = atob(image.base64String);
const blob = new Blob([rawData], { type: 'image/png' });
Run Code Online (Sandbox Code Playgroud)
但 blob 最终不是一个有效的图像。
任何帮助表示赞赏。
使用:@angular/core: 9.1.4, @ionic/angular: 5.1.0, @capacitor/core: 2.1.1