我必须将File
对象作为有效负载发送到后端API。如何将Base64图像文件URI转换为如下所述的文件对象格式?我试图查找其他解决方案,但这些解决方案都与Blob到file转换或base64数据url转换有关。有人能帮忙吗?
Base64图像文件URL
data:image/jpeg;base64,file:///storage/emulated/0/Android/data/com.abc/cache/1586842420784.jpg
这需要转换为
文件对象
File {
lastModified: 1582829787565
lastModifiedDate: Thu Feb 27 2020 10:56:27 GMT-0800 (Pacific Standard Time) {}
name: "TestImageAM.png"
size: 186278
type: "image/png"
webkitRelativePath: ""
}
发布于 2021-07-10 10:08:05
就我个人而言,我认为最好的选择是将base64映像字符串转换为这样的blob
fetch(base64ImageString)
.then((res) => res.blob())
.then((blob) => {
console.log(blob);
});
它将blob对象记录到控制台,如下所示
Blob {size: 20832, type: "image/jpeg"}
然后使用formData上传图像,它支持以blob格式上传图像文件,如下所示。
var formData = new FormData();
formData.append('my_image', blob);
您可以从文档formData获得关于如何使用这里上传图像的更多信息。
发布于 2020-04-14 05:54:41
您所需要做的就是将Base64图像URI传递给JavaScript's File
构造函数,这将为您提供所需格式的File
对象。
fileURI = 'data:image/jpeg;base64,file:///storage/emulated/0/Android/data/com.abc/cache/1586842420784.jpg'
const file = new File(fileURI, 'anyname.jpg')
console.log('File Object', file)
https://stackoverflow.com/questions/61201394
复制相似问题