如何在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浏览器边缘。
添加以下内容:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js"></script>
这为旧浏览器增加了js兼容性
在阅读了大量教程后,我发现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中上传文件的方法只接受,所以我需要将字符串转换为,而且现在重构整个上传方法太复杂了。 有办法做到这一点吗? 谢谢!