从 Base64 编码的字符串中检索 MIME 类型

Posted

技术标签:

【中文标题】从 Base64 编码的字符串中检索 MIME 类型【英文标题】:Retrieve MIME type from Base64 encoded String 【发布时间】:2015-04-06 00:58:00 【问题描述】:

假设一个以 Base64 字符串编码并提供给我的文件(例如 myfile.jpeg)。 我无法知道文件类型是什么。 我想将字符串解码为文件(本例中为图像)。 我如何知道文件的类型(例如 jpeg)?

【问题讨论】:

How to identify file type by base 64 encoded string of a image的可能重复 【参考方案1】:

一般来说,base 64 编码的字符串绝对可以包含任何数据,因此无法知道它的文件类型。

要确定它是否是 JPEG 图像的实例,您需要对其进行 base64 解码,然后执行检查其magic number 之类的操作,这对于告诉您文件是什么很有用t。您仍然需要做更多的工作来确定它是否是有效的 JPEG 图像。

【讨论】:

【参考方案2】:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAAAASUVORK5CYII=

是一个示例图像。只需用第一个斜线将其拆分并获取数组索引 1。假设图像来自受信任的客户端。

【讨论】:

这不是 base64 字符串。真正的 base64 从“iVBORw0K”开始。忘记之前的内容。你在真正的转换中没有这个。这正是我们想要得到的。

以上是关于从 Base64 编码的字符串中检索 MIME 类型的主要内容,如果未能解决你的问题,请参考以下文章

base64的MIME

从 mime 字节验证 base64 编码图像

MIME Base64编码

在 NodeJs 中解码 base64 编码的 webm 视频

像图像或 PDF 文件这样的 MIME 类型不需要 base64 或以其他方式编码吗?

Base-64编码介绍