通过JS判断BASE64字符串的文件类型
函数的入参是文件的base64字符串,可以全传入或者只传入前三个字符。
判断依据是不同文件的文件头的差别。
这里只例举了我所用到的几种图片的格式。
可以自行将文件转成base64,并提取出文件头加入到这个Map里。
/**
* @author PiaoZhenJia
*/
function base64FileHeaderMapper(fileBase64) {
let fileHeader = new Map();
//获取不同文件的文件头前3个字作为判断依据
fileHeader.set("/9j", "JPG")
fileHeader.set("iVB", "PNG")
fileHeader.set("Qk0", "BMP")
fileHeader.set("SUk", "TIFF")
fileHeader.set("JVB", "PDF")
fileHeader.set("UEs", "OFD")
let res = ""
//遍历map中所提及的文件头特征
fileHeader.forEach((v, k) => {
if (k == fileBase64.substr(0, 3)) {
res = v
}
})
//如果不在map中返回unknown file
if (res == "") {
res = "unknown file"
}
//否则返回map中的value值
return res;
}