我得到base64字符串作为输入将其保存为图像.但我的问题是我不知道用户上传了什么图像格式.所以如果有人知道如何从base64字符串获取图像格式或扩展名,请帮助我.
每个文件类型在文件的开头都应该有一个"幻数",可以用来标识类型.
一些示例(有关更多信息,请参阅http://en.wikipedia.org/wiki/List_of_file_signatures):
filetype magic number(hex)
jpg FF D8 FF
gif 47 49 46 38
png 89 50 4E 47 0D 0A 1A 0A
bmp 42 4D
tiff(LE) 49 49 2A 00
tiff(BE) 4D 4D 00 2A
Run Code Online (Sandbox Code Playgroud)
最好的办法是解码base64并检查其中一个字节模式的字节数组的开头.
您可能会考虑将字节模式转换为Base64并检查Base64映像的起始字符,但这可能会让您遇到麻烦,因为Base64编码始终使用3字节到4字符编码,因此字节跟随幻数可能会影响编码图像文件中的Base-64表示.
| 归档时间: |
|
| 查看次数: |
4576 次 |
| 最近记录: |