我有一个 Blob 对象,它是一个图像,我正在尝试将其转换为文件对象,但它在 MS edge 版本 41 中显示错误。我在第一次两次尝试中使用 formdata 进行相同的尝试
尝试 1
fd.set('file', blobObj, fileName);
return (fd.get('file'));
这导致了一个错误
object doesn't support this property or method 'set'
尝试 2
我用 append 替换了 set 然后我得到了这个
object doesn't support this property or method 'get'
尝试 3
我用一个看起来像这样的新逻辑完全替换了 formdata
let fileObject = new File([u8arr], fileName, { type: mime });
我得到一个错误提示
object doesn't support this action
还有其他方法可以使用吗?我可以直接将 blob 作为文件使用吗?
最佳答案
据我所知,您的第三种方法似乎有效,
尝试一次将 mime 类型硬编码为 "image/jpeg"/"image/png"
并包含修改日期,然后验证一次
var fileInstance = new File([blob], "FileName",{type:"image/jpeg", lastModified:new Date()})
如果你在 javascript 中显示它,你应该使用这样的东西:
var URL = window.URL || window.webkitURL;
var url_instance = URL.createObjectURL(blob);
var image_source = new Image();
image_source.src = url_instance;
document.body.appendChild(image_source);
关于javascript - 将 Blob 对象转换为文件,对于 Ms Edge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59029119/