Angular 8 - 将 base64 解析为文件

标签 angular

我正在尝试使用此代码转换 base64 文件

  new File([new Blob([BASE64FILE], {type: 'image/png'})],NAME,  {type: 'image/png'})

有什么不对劲。当我将它发送到数据库时,格式不正确(不是图像)并且不显示任何内容。

所以问题是:将 base64 转换为 File 的正确方法是什么?

最佳答案

我当时也有类似的问题。无论如何,这对你有用:

const base64 = '...';
const imageName = 'name.png';
const imageBlob = this.dataURItoBlob(base64);
const imageFile = new File([imageBlob], imageName, { type: 'image/png' });

和功能:
dataURItoBlob(dataURI) {
   const byteString = window.atob(dataURI);
   const arrayBuffer = new ArrayBuffer(byteString.length);
   const int8Array = new Uint8Array(arrayBuffer);
   for (let i = 0; i < byteString.length; i++) {
     int8Array[i] = byteString.charCodeAt(i);
   }
   const blob = new Blob([int8Array], { type: 'image/png' });    
   return blob;
}

关于Angular 8 - 将 base64 解析为文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58502673/

相关文章:

Angular Http 不工作。 Promise 与 Observable 方法混合

angular - 如何在新的 Router Angular 2 中生成 url 路径

javascript - 使用youtube iframe播放器API播放背景视频

javascript - 使用 Angular4 直接更新到 innerHTML 时如何提高性能

c# - ASP Net Core 中 Angular 组件的类似术语

angular - TSLint:警告: 'no-use-before-declare' 规则需要类型检查

angular - Angular中的Highcharts工具提示的单元测试

javascript - Angular 2+路由redirectTo作为一个函数

javascript - Angular CLI - 如何在整个应用程序中共享原型(prototype)函数

angular - 带有 Angular 6 的 Jquery roundslider