Merge branch 'allow-electron-2gb+' into thumbnail-generation-failed-section
This commit is contained in:
commit
28d06ae94a
|
@ -342,6 +342,13 @@ export default function UploadProgress(props: Props) {
|
|||
sectionTitle={constants.UNSUPPORTED_FILES}
|
||||
sectionInfo={constants.UNSUPPORTED_INFO}
|
||||
/>
|
||||
<ResultSection
|
||||
filenames={props.filenames}
|
||||
fileUploadResultMap={fileUploadResultMap}
|
||||
fileUploadResult={FileUploadResults.TOO_LARGE}
|
||||
sectionTitle={constants.TOO_LARGE_UPLOADS}
|
||||
sectionInfo={constants.TOO_LARGE_INFO}
|
||||
/>
|
||||
</Modal.Body>
|
||||
{props.uploadStage === UPLOAD_STAGES.FINISH && (
|
||||
<Modal.Footer style={{ border: 'none' }}>
|
||||
|
|
|
@ -35,11 +35,14 @@ export enum FileUploadResults {
|
|||
ALREADY_UPLOADED,
|
||||
UNSUPPORTED,
|
||||
BLOCKED,
|
||||
TOO_LARGE,
|
||||
LARGER_THAN_AVAILABLE_STORAGE,
|
||||
UPLOADED,
|
||||
UPLOADED_WITH_STATIC_THUMBNAIL,
|
||||
}
|
||||
|
||||
export const MAX_FILE_SIZE_SUPPORTED = 4 * 1024 * 1024 * 1024; // 4 GB
|
||||
|
||||
export const LIVE_PHOTO_ASSET_SIZE_LIMIT = 20 * 1024 * 1024; // 20MB
|
||||
|
||||
export const NULL_EXTRACTED_METADATA: ParsedExtractedMetadata = {
|
||||
|
|
|
@ -28,7 +28,11 @@ import {
|
|||
ParsedMetadataJSONMap,
|
||||
ProgressUpdater,
|
||||
} from 'types/upload';
|
||||
import { UPLOAD_STAGES, FileUploadResults } from 'constants/upload';
|
||||
import {
|
||||
UPLOAD_STAGES,
|
||||
FileUploadResults,
|
||||
MAX_FILE_SIZE_SUPPORTED,
|
||||
} from 'constants/upload';
|
||||
import { ComlinkWorker } from 'utils/comlink';
|
||||
import { FILE_TYPE } from 'constants/file';
|
||||
import uiService from './uiService';
|
||||
|
@ -201,6 +205,15 @@ class UploadManager {
|
|||
for (const { file, localID, collectionID } of mediaFiles) {
|
||||
try {
|
||||
const { fileTypeInfo, metadata } = await (async () => {
|
||||
if (file.size >= MAX_FILE_SIZE_SUPPORTED) {
|
||||
logUploadInfo(
|
||||
`${getFileNameSize(
|
||||
file
|
||||
)} rejected because of large size`
|
||||
);
|
||||
|
||||
return { fileTypeInfo: null, metadata: null };
|
||||
}
|
||||
const fileTypeInfo = await UploadService.getFileType(
|
||||
reader,
|
||||
file
|
||||
|
|
|
@ -9,7 +9,7 @@ import UploadHttpClient from './uploadHttpClient';
|
|||
import UIService from './uiService';
|
||||
import UploadService from './uploadService';
|
||||
import { FILE_TYPE } from 'constants/file';
|
||||
import { FileUploadResults } from 'constants/upload';
|
||||
import { FileUploadResults, MAX_FILE_SIZE_SUPPORTED } from 'constants/upload';
|
||||
import { FileWithCollection, BackupedFile, UploadFile } from 'types/upload';
|
||||
import { logUploadInfo } from 'utils/upload';
|
||||
import { convertBytesToHumanReadable } from 'utils/billing';
|
||||
|
@ -37,6 +37,10 @@ export default async function uploader(
|
|||
const { fileTypeInfo, metadata } =
|
||||
UploadService.getFileMetadataAndFileTypeInfo(localID);
|
||||
try {
|
||||
const fileSize = UploadService.getAssetSize(uploadAsset);
|
||||
if (fileSize >= MAX_FILE_SIZE_SUPPORTED) {
|
||||
return { fileUploadResult: FileUploadResults.TOO_LARGE };
|
||||
}
|
||||
if (fileTypeInfo.fileType === FILE_TYPE.OTHERS) {
|
||||
throw Error(CustomError.UNSUPPORTED_FILE_FORMAT);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue