RED-3800 Allow multiple file types

This commit is contained in:
Timo Bejan 2022-04-19 22:04:04 +03:00
parent 01026cecb2
commit f4238964ce
2 changed files with 19 additions and 1 deletions

View File

@ -554,7 +554,7 @@ export class PdfViewerComponent extends AutoUnsubscribe implements OnInit, OnCha
}
private _loadDocument(blob: Blob, file: File) {
this.instance.UI.loadDocument(blob, { filename: file?.filename ?? 'document.pdf' });
this.instance.UI.loadDocument(blob, { filename: file?.filename + '.pdf' ?? 'document.pdf' });
this._pageRotationService.clearRotationsHideActions();
}

View File

@ -1,10 +1,27 @@
import { FileUploadModel } from '@upload-download/model/file-upload.model';
import { Dossier } from '@red/domain';
const validDocumentMimeTypes = [
'application/msword',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'application/vnd.ms-excel',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'application/vnd.ms-powerpoint',
'application/vnd.openxmlformats-officedocument.presentationml.presentation',
'application/pdf',
];
const validDocumentExtensions = ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf'];
export function isCsv(file: FileUploadModel): boolean {
return file.file.type?.toLowerCase() === 'text/csv' || file.file.name.toLowerCase().endsWith('.csv');
}
export function isDocument(file: FileUploadModel): boolean {
const extension = file.file.name.toLowerCase().substring(file.file.name.toLowerCase().lastIndexOf('.') + 1);
return validDocumentMimeTypes.includes(file.file.type?.toLowerCase()) || validDocumentExtensions.includes(extension);
}
export type Files = FileList | File[];
export function convertFiles(files: FileList | File[], dossier: Dossier): FileUploadModel[] {
@ -30,6 +47,7 @@ export function convertFiles(files: FileList | File[], dossier: Dossier): FileUp
file.file.name.toLowerCase().endsWith('.pdf') ||
file.file.type?.toLowerCase() === 'application/zip' ||
file.file.name.toLowerCase().endsWith('.zip') ||
isDocument(file) ||
isCsv(file),
);