fix thumbnail service isHEIC check

This commit is contained in:
Abhinav 2022-08-08 12:55:45 +05:30
parent 4426818549
commit 129b994346
2 changed files with 7 additions and 3 deletions

View file

@ -4,7 +4,7 @@ import { logError } from 'utils/sentry';
import { BLACK_THUMBNAIL_BASE64 } from 'constants/upload'; import { BLACK_THUMBNAIL_BASE64 } from 'constants/upload';
import FFmpegService from 'services/ffmpeg/ffmpegService'; import FFmpegService from 'services/ffmpeg/ffmpegService';
import { convertBytesToHumanReadable } from 'utils/file/size'; import { convertBytesToHumanReadable } from 'utils/file/size';
import { isFileHEIC } from 'utils/file'; import { isExactTypeHEIC } from 'utils/file';
import { ElectronFile, FileTypeInfo } from 'types/upload'; import { ElectronFile, FileTypeInfo } from 'types/upload';
import { getUint8ArrayView } from '../readerService'; import { getUint8ArrayView } from '../readerService';
import HEICConverter from 'services/heicConverter/heicConverterService'; import HEICConverter from 'services/heicConverter/heicConverterService';
@ -37,7 +37,7 @@ export async function generateThumbnail(
file = new File([await file.blob()], file.name); file = new File([await file.blob()], file.name);
} }
if (fileTypeInfo.fileType === FILE_TYPE.IMAGE) { if (fileTypeInfo.fileType === FILE_TYPE.IMAGE) {
const isHEIC = isFileHEIC(fileTypeInfo.exactType); const isHEIC = isExactTypeHEIC(fileTypeInfo.exactType);
canvas = await generateImageThumbnail(file, isHEIC); canvas = await generateImageThumbnail(file, isHEIC);
} else { } else {
try { try {

View file

@ -353,9 +353,13 @@ async function convertIfHEIC(fileName: string, fileBlob: Blob) {
} }
} }
async function isFileHEIC(fileBlob: Blob, fileName: string) { export async function isFileHEIC(fileBlob: Blob, fileName: string) {
const tempFile = new File([fileBlob], fileName); const tempFile = new File([fileBlob], fileName);
const { exactType } = await getFileType(tempFile); const { exactType } = await getFileType(tempFile);
return isExactTypeHEIC(exactType);
}
export function isExactTypeHEIC(exactType: string) {
return ( return (
exactType.toLowerCase().endsWith(TYPE_HEIC) || exactType.toLowerCase().endsWith(TYPE_HEIC) ||
exactType.toLowerCase().endsWith(TYPE_HEIF) exactType.toLowerCase().endsWith(TYPE_HEIF)