@tc-libs/file
v3.9.0
Published
Toolkit upload/validazione file per NestJS.
Readme
@tc-libs/file
Toolkit upload/validazione file per NestJS.
Il package include:
FileModule- decorator upload
- pipe MIME/type/size/max-files
- interceptor per limiti custom
- DTO per Swagger multipart
Registrazione
FileModule.register(
{
image: { maxFiles: 5, maxFileSize: 5_000_000 },
excel: { maxFiles: 1, maxFileSize: 10_000_000 },
audio: { maxFiles: 1, maxFileSize: 20_000_000 },
video: { maxFiles: 1, maxFileSize: 100_000_000 },
},
true,
);Decorator
UploadFileSingle(field)UploadFileMultiple(field)FileCustomMaxFile(n)FileCustomMaxSize('20MB')FilePartNumber()
Esempio:
@Post('avatar')
@UploadFileSingle('file')
@FileCustomMaxSize('10MB')
upload(@UploadedFile(FileTypeImagePipe, FileSizeImagePipe) file: IFile) {}Pipe principali
FileTypeImagePipeFileTypeVideoPipeFileTypeAudioPipeFileTypeExcelPipeFileTypeVideoAudioTextPipeFileSizeImagePipeFileSizeVideoPipeFileSizeAudioPipeFileSizeExcelPipeFileRequiredPipeFileMaxFilesPipe
Questi pipe usano le costanti di @tc-libs/constant e lanciano errori di @tc-libs/errors.
Tipi utili
type IFile = {
fieldname: string;
originalname: string;
mimetype: string;
buffer: Buffer;
size: number;
};Sviluppo
nx build file
nx test file