ice.fo.utils
Version:
22 lines (17 loc) • 750 B
JavaScript
// 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);
});
}