UNPKG

ice.fo.utils

Version:

25 lines (20 loc) 793 B
// 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) }