base64的图片,前面没有data:那一串,怎么来辨别它是什么类型的图片呢?

base64的图片,前面没有data:那一串,怎么来辨别它是什么类型的图片呢?

用下面这个方法,通过开头字母辨别

如有帮助,望采纳^O^

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;