2015-02-06 47 views
2

让我们说一个在Base64字符串中编码并给予我的文件(例如myfile.jpeg)。 我无法知道文件类型是什么。 我想将字符串解码成一个文件(在这个例子中是一个图像)。 如何知道文件的类型(如jpeg)?从Base64编码中检索MIME类型字符串

+0

可能重复的[如何识别文件类型的基础64编码字符串的图像](https://stackoverflow.com/questions/25763533/how-to-identify-file-type-by-base-64-编码串对的一图像) – naXa 2017-06-22 12:09:55

回答

2

通常情况下,64位编码的基本字符串可能包含绝对的任何数据,因此无法知道其文件类型。

以确定它是否是一个JPEG图像的情况下,你需要的base64解码,然后像做检查其magic number,这是在告诉你什么文件有用。您仍然需要做更多的工作来确定它是否是有效的JPEG图像。

1

数据:图像/ PNG; BASE64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAMSURBVBhXY/J // z8ABf4C/qc1gYQAAAAASUVORK5CYII =

是样本图像。只需用第一个斜杠分割并获取数组索引1.假设图像来自可信客户端。