add logs for read file failing
This commit is contained in:
parent
b53aac4961
commit
c0d50d7aaa
|
@ -22,6 +22,7 @@ import {
|
|||
getUint8ArrayView,
|
||||
} from '../readerService';
|
||||
import { generateThumbnail } from './thumbnailService';
|
||||
import { convertBytesToHumanReadable } from 'utils/billing';
|
||||
|
||||
const EDITED_FILE_SUFFIX = '-edited';
|
||||
|
||||
|
@ -37,34 +38,43 @@ export async function readFile(
|
|||
fileTypeInfo: FileTypeInfo,
|
||||
rawFile: File | ElectronFile
|
||||
): Promise<FileInMemory> {
|
||||
const { thumbnail, hasStaticThumbnail } = await generateThumbnail(
|
||||
rawFile,
|
||||
fileTypeInfo
|
||||
);
|
||||
logUploadInfo(`reading file data ${getFileNameSize(rawFile)} `);
|
||||
let filedata: Uint8Array | DataStream;
|
||||
if (!(rawFile instanceof File)) {
|
||||
if (rawFile.size > MULTIPART_PART_SIZE) {
|
||||
filedata = await getElectronFileStream(
|
||||
rawFile,
|
||||
FILE_READER_CHUNK_SIZE
|
||||
);
|
||||
try {
|
||||
const { thumbnail, hasStaticThumbnail } = await generateThumbnail(
|
||||
rawFile,
|
||||
fileTypeInfo
|
||||
);
|
||||
logUploadInfo(`reading file data ${getFileNameSize(rawFile)} `);
|
||||
let filedata: Uint8Array | DataStream;
|
||||
if (!(rawFile instanceof File)) {
|
||||
if (rawFile.size > MULTIPART_PART_SIZE) {
|
||||
filedata = await getElectronFileStream(
|
||||
rawFile,
|
||||
FILE_READER_CHUNK_SIZE
|
||||
);
|
||||
} else {
|
||||
filedata = await rawFile.arrayBuffer();
|
||||
}
|
||||
} else if (rawFile.size > MULTIPART_PART_SIZE) {
|
||||
filedata = getFileStream(rawFile, FILE_READER_CHUNK_SIZE);
|
||||
} else {
|
||||
filedata = await rawFile.arrayBuffer();
|
||||
filedata = await getUint8ArrayView(rawFile);
|
||||
}
|
||||
} else if (rawFile.size > MULTIPART_PART_SIZE) {
|
||||
filedata = getFileStream(rawFile, FILE_READER_CHUNK_SIZE);
|
||||
} else {
|
||||
filedata = await getUint8ArrayView(rawFile);
|
||||
|
||||
logUploadInfo(
|
||||
`read file data successfully ${getFileNameSize(rawFile)} `
|
||||
);
|
||||
|
||||
return {
|
||||
filedata,
|
||||
thumbnail,
|
||||
hasStaticThumbnail,
|
||||
};
|
||||
} catch (e) {
|
||||
logError(e, 'failed to read file', {
|
||||
fileSize: convertBytesToHumanReadable(rawFile.size),
|
||||
});
|
||||
throw e;
|
||||
}
|
||||
|
||||
logUploadInfo(`read file data successfully ${getFileNameSize(rawFile)} `);
|
||||
|
||||
return {
|
||||
filedata,
|
||||
thumbnail,
|
||||
hasStaticThumbnail,
|
||||
};
|
||||
}
|
||||
|
||||
export async function extractFileMetadata(
|
||||
|
|
|
@ -8,6 +8,7 @@ import {
|
|||
LivePhotoAssets,
|
||||
Metadata,
|
||||
} from 'types/upload';
|
||||
import { convertBytesToHumanReadable } from 'utils/billing';
|
||||
import { CustomError } from 'utils/error';
|
||||
import { isImageOrVideo, splitFilenameAndExtension } from 'utils/file';
|
||||
import { logError } from 'utils/sentry';
|
||||
|
@ -75,34 +76,42 @@ export async function readLivePhoto(
|
|||
fileTypeInfo: FileTypeInfo,
|
||||
livePhotoAssets: LivePhotoAssets
|
||||
) {
|
||||
const { thumbnail, hasStaticThumbnail } = await generateThumbnail(
|
||||
livePhotoAssets.image,
|
||||
{
|
||||
exactType: fileTypeInfo.imageType,
|
||||
fileType: FILE_TYPE.IMAGE,
|
||||
}
|
||||
);
|
||||
try {
|
||||
const { thumbnail, hasStaticThumbnail } = await generateThumbnail(
|
||||
livePhotoAssets.image,
|
||||
{
|
||||
exactType: fileTypeInfo.imageType,
|
||||
fileType: FILE_TYPE.IMAGE,
|
||||
}
|
||||
);
|
||||
|
||||
const image =
|
||||
livePhotoAssets.image instanceof File
|
||||
? await getUint8ArrayView(livePhotoAssets.image)
|
||||
: await livePhotoAssets.image.arrayBuffer();
|
||||
const image =
|
||||
livePhotoAssets.image instanceof File
|
||||
? await getUint8ArrayView(livePhotoAssets.image)
|
||||
: await livePhotoAssets.image.arrayBuffer();
|
||||
|
||||
const video =
|
||||
livePhotoAssets.video instanceof File
|
||||
? await getUint8ArrayView(livePhotoAssets.video)
|
||||
: await livePhotoAssets.video.arrayBuffer();
|
||||
const video =
|
||||
livePhotoAssets.video instanceof File
|
||||
? await getUint8ArrayView(livePhotoAssets.video)
|
||||
: await livePhotoAssets.video.arrayBuffer();
|
||||
|
||||
return {
|
||||
filedata: await encodeMotionPhoto({
|
||||
image,
|
||||
video,
|
||||
imageNameTitle: livePhotoAssets.image.name,
|
||||
videoNameTitle: livePhotoAssets.video.name,
|
||||
}),
|
||||
thumbnail,
|
||||
hasStaticThumbnail,
|
||||
};
|
||||
return {
|
||||
filedata: await encodeMotionPhoto({
|
||||
image,
|
||||
video,
|
||||
imageNameTitle: livePhotoAssets.image.name,
|
||||
videoNameTitle: livePhotoAssets.video.name,
|
||||
}),
|
||||
thumbnail,
|
||||
hasStaticThumbnail,
|
||||
};
|
||||
} catch (e) {
|
||||
logError(e, 'failed to read live photo assets', {
|
||||
imageSize: convertBytesToHumanReadable(livePhotoAssets.image.size),
|
||||
videoSize: convertBytesToHumanReadable(livePhotoAssets.video.size),
|
||||
});
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
export function clusterLivePhotoFiles(mediaFiles: FileWithCollection[]) {
|
||||
|
|
Loading…
Reference in a new issue