首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Base64图像文件URI转换为文件对象

将Base64图像文件URI转换为文件对象
EN

Stack Overflow用户
提问于 2020-04-14 05:44:32
回答 2查看 3.4K关注 0票数 4

我必须将File对象作为有效负载发送到后端API。如何将Base64图像文件URI转换为如下所述的文件对象格式?我试图查找其他解决方案,但这些解决方案都与Blob到file转换或base64数据url转换有关。有人能帮忙吗?

Base64图像文件URL

代码语言:javascript
运行
复制
data:image/jpeg;base64,file:///storage/emulated/0/Android/data/com.abc/cache/1586842420784.jpg

这需要转换为

文件对象

代码语言:javascript
运行
复制
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: ""
}
EN

回答 2

Stack Overflow用户

发布于 2021-07-10 10:08:05

就我个人而言,我认为最好的选择是将base64映像字符串转换为这样的blob

代码语言:javascript
运行
复制
    fetch(base64ImageString)
    .then((res) => res.blob())
    .then((blob) => {
      console.log(blob);
    });

它将blob对象记录到控制台,如下所示

代码语言:javascript
运行
复制
Blob {size: 20832, type: "image/jpeg"}

然后使用formData上传图像,它支持以blob格式上传图像文件,如下所示。

代码语言:javascript
运行
复制
var formData = new FormData();
formData.append('my_image', blob);

您可以从文档formData获得关于如何使用这里上传图像的更多信息。

票数 0
EN

Stack Overflow用户

发布于 2020-04-14 05:54:41

您所需要做的就是将Base64图像URI传递给JavaScript's File构造函数,这将为您提供所需格式的File对象。

代码语言:javascript
运行
复制
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)
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61201394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档