ice.fo.utils
Version:
25 lines (20 loc) • 793 B
JavaScript
// Doc: https://stackoverflow.com/questions/18299806/how-to-check-file-mime-type-with-javascript-before-upload
export function getBLOBFileHeader (blob) {
return new Promise((resolve) => {
const fileReader = new FileReader()
fileReader.onloadend = function (e) {
const arr = (new Uint8Array(e.target.result)).subarray(0, 4)
let header = ''
for (let i = 0; i < arr.length; i++) {
header += arr[i].toString(16)
}
const isValiddMime = checkValidMimeType(header)
resolve(isValiddMime)
}
fileReader.readAsArrayBuffer(blob)
})
}
function checkValidMimeType (headerString) {
const validCode = ['89504e47', '47494638', 'ffd8ffe0', 'ffd8ffe1', 'ffd8ffe2', '66747970', '00014', '3026B275']
return validCode.includes(headerString)
}