当前位置: 首页 > 知识库问答 >
问题:

如何在IE浏览器中将base64字符串转换为Javascript中的文件对象

袁泓
2023-03-14

如何在IE浏览器中将base64字符串转换为Javascript中的文件对象

function dataURLtoFile(dataurl: any, filename: string) {
        var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
            bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
        while (n--) {
            u8arr[n] = bstr.charCodeAt(n);
        }
        return new File([u8arr], filename, { type: mime });
}

这不适用于IE浏览器边缘。

共有2个答案

秋和雅
2023-03-14

添加以下内容:

<script src="https://cdn.polyfill.io/v2/polyfill.min.js"></script>

这为旧浏览器增加了js兼容性

宣原
2023-03-14

在阅读了大量教程后,我发现Blob也被视为文件,我们可以将Blob发布到formdata中。

var base64data = window.localStorage.getItem("img").replace("data:image/png;base64,", "");
        var bs = atob(base64data);
        var buffer = new ArrayBuffer(bs.length);
        var ba = new Uint8Array(buffer);
        for (var i = 0; i < bs.length; i++) {
            ba[i] = bs.charCodeAt(i);
        }
        var file = new Blob([ba], { type: "image/png" });
 类似资料:
  • 问题内容: 现在,我通过此行获取File对象: 我需要在base 64中通过json发送此文件。如何将其转换为base64字符串? 问题答案: 现代ES6方式 (异步/等待) UPD: 如果您想捕捉错误

  • 我需要在Base64中通过json发送这个文件。我应该怎么做才能将它转换为base64字符串?

  • 问题内容: 可能是重复的,但我面临将图像转换成用于发送的问题。我已经尝试过此代码,但是它给了我错误的编码字符串。 输出: [B @ 677327b6 但我将同一张图像转换为许多在线编码器,它们都给出了正确的大Base64字符串。 编辑: 如何重复?我的重复的链接没有给我解决方案转换字符串我想要的。 我在这里想念什么? 问题答案: 问题是您要返回的调用将返回一个字节数组。因此,最后得到的是字节数组的

  • 问题内容: 我一直在尝试使用 GZIPOutputStream 等,但在理解它们方面没有成功。我要做的就是将字符串- “字符串” 转换为GZIP Base64格式。我怎样才能做到这一点? 编辑: 通过GZIP Base64格式,我的意思是字符串首先使用GZIP压缩,然后转换为Base64 问题答案: 使用Apache Commons Codec 。 这是一个示例类: 哪个输出: 在Linux下,您

  • 问题内容: 我试图以90度的角度旋转base64编码的图像。完成此操作后,我想将其转换回base64字符串。但不幸的是无法实现这一目标。 到目前为止,这是我所做的: Kindy帮我如何将Rotated_image转换为base64字符串。 这是rotated_image的: [‘Image__transformer’,’__ doc __’,’__ getattr __’,’__ init __’

  • 注意:我目前正在处理应用程序的api部分,我没有访问前端的东西。 因此前端将发送给我一个字符串,我需要将其转换为,因为在s3中上传文件的方法只接受,所以我需要将字符串转换为,而且现在重构整个上传方法太复杂了。 有办法做到这一点吗? 谢谢!