【发布时间】:2015-04-06 00:58:00
【问题描述】:
假设一个以 Base64 字符串编码并提供给我的文件(例如 myfile.jpeg)。 我无法知道文件类型是什么。 我想将字符串解码为文件(本例中为图像)。 我如何知道文件的类型(例如 jpeg)?
【问题讨论】:
假设一个以 Base64 字符串编码并提供给我的文件(例如 myfile.jpeg)。 我无法知道文件类型是什么。 我想将字符串解码为文件(本例中为图像)。 我如何知道文件的类型(例如 jpeg)?
【问题讨论】:
一般来说,base 64 编码的字符串绝对可以包含任何数据,因此无法知道它的文件类型。
要确定它是否是 JPEG 图像的实例,您需要对其进行 base64 解码,然后执行检查其magic number 之类的操作,这对于告诉您文件是什么很有用t。您仍然需要做更多的工作来确定它是否是有效的 JPEG 图像。
【讨论】:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAAAASUVORK5CYII=
是一个示例图像。只需用第一个斜线将其拆分并获取数组索引 1。假设图像来自受信任的客户端。
【讨论】: