pass reader correctly instead of passing workers

This commit is contained in:
Abhinav 2022-01-09 11:05:50 +05:30
parent 0e7ab5c886
commit d42af9cd1a
5 changed files with 10 additions and 21 deletions

View file

@ -77,7 +77,7 @@ export async function replaceThumbnail(
[originalThumbnail],
file.metadata.title
);
const fileTypeInfo = await getFileType(worker, dummyImageFile);
const fileTypeInfo = await getFileType(reader, dummyImageFile);
const { thumbnail: newThumbnail } = await generateThumbnail(
worker,
reader,

View file

@ -1,6 +1,5 @@
import { FIX_OPTIONS } from 'components/FixCreationTime';
import { SetProgressTracker } from 'components/FixLargeThumbnail';
import CryptoWorker from 'utils/crypto';
import {
changeFileCreationTime,
getFileFromURL,
@ -38,8 +37,8 @@ export async function updateCreationTimeWithExif(
} else {
const fileURL = await downloadManager.getFile(file);
const fileObject = await getFileFromURL(fileURL);
const worker = await new CryptoWorker();
const fileTypeInfo = await getFileType(worker, fileObject);
const reader = new FileReader();
const fileTypeInfo = await getFileType(reader, fileObject);
const exifData = await getRawExif(fileObject, fileTypeInfo);
if (fixOption === FIX_OPTIONS.DATE_TIME_ORIGINAL) {
correctCreationTime = getUNIXTime(

View file

@ -15,9 +15,9 @@ const TYPE_IMAGE = 'image';
const EDITED_FILE_SUFFIX = '-edited';
const CHUNK_SIZE_FOR_TYPE_DETECTION = 4100;
export async function getFileData(worker, reader: FileReader, file: File) {
export async function getFileData(reader: FileReader, file: File) {
if (file.size > MULTIPART_PART_SIZE) {
return getFileStream(worker, reader, file, FILE_READER_CHUNK_SIZE);
return getFileStream(reader, file, FILE_READER_CHUNK_SIZE);
} else {
return await getUint8ArrayView(reader, file);
}
@ -91,18 +91,8 @@ export async function getMimeTypeFromBlob(reader: FileReader, fileBlob: Blob) {
}
}
function getFileStream(
worker,
reader: FileReader,
file: File,
chunkSize: number
) {
const fileChunkReader = fileChunkReaderMaker(
worker,
reader,
file,
chunkSize
);
function getFileStream(reader: FileReader, file: File, chunkSize: number) {
const fileChunkReader = fileChunkReaderMaker(reader, file, chunkSize);
const stream = new ReadableStream<Uint8Array>({
async pull(controller: ReadableStreamDefaultController) {
@ -122,7 +112,6 @@ function getFileStream(
}
async function* fileChunkReaderMaker(
worker,
reader: FileReader,
file: File,
chunkSize: number

View file

@ -49,7 +49,7 @@ class UploadService {
fileTypeInfo
);
const filedata = await getFileData(worker, reader, rawFile);
const filedata = await getFileData(reader, rawFile);
return {
filedata,

View file

@ -296,9 +296,10 @@ export async function convertForPreview(file: EnteFile, fileBlob: Blob) {
const typeFromExtension = getFileExtension(file.metadata.title);
const worker = await new CryptoWorker();
const reader = new FileReader();
const mimeType =
(await getMimeTypeFromBlob(worker, fileBlob)) ?? typeFromExtension;
(await getMimeTypeFromBlob(reader, fileBlob)) ?? typeFromExtension;
if (isFileHEIC(mimeType)) {
fileBlob = await worker.convertHEIC2JPEG(fileBlob);
}