UNPKG

ice.fo.utils

Version:

22 lines (17 loc) 750 B
// Doc: https://stackoverflow.com/questions/18299806/how-to-check-file-mime-type-with-javascript-before-upload export default function checkIsImageVideoFile(blob) { return new Promise((resolve) => { const fileReader = new FileReader(); fileReader.onloadend = function onLoadEnd(e) { const arr = (new Uint8Array(e.target.result)).subarray(0, 4); let fileHeader = ''; for (let i = 0; i < arr.length; i++) { fileHeader += arr[i].toString(16); } const validCode = ['89504e47', '47494638', 'ffd8ffe0', 'ffd8ffe1', 'ffd8ffe2', '66747970', '00014', '3026B275']; const isValiddMime = validCode.includes(fileHeader); resolve(isValiddMime); }; fileReader.readAsArrayBuffer(blob); }); }