Open
Description
Is there an existing issue that is already proposing this?
- I have searched the existing issues
Is your feature request related to a problem? Please describe it
When using FilesInterceptor
for doing a bulk upload and trying to follow the docs for performing the files validation for max size and mime types, there's no definitive guide available to do that,
@UseInterceptors(
FilesInterceptor('files[]', 5, {
storage: diskStorage({
destination: './dist/assets/uploads'
}),
}),
)
@Post('/bulk')
uploadFiles(
@Body() _body: any,
@UploadedFiles(
new ParseFilePipeBuilder()
.addFileTypeValidator({
fileType: /(jpg|jpeg|png|gif)$/,
})
.addMaxSizeValidator({ maxSize: 5242880 })
.build({
errorHttpStatusCode: HttpStatus.UNPROCESSABLE_ENTITY,
}),
)
files: Express.Multer.File[],
) {
const photo = new Photo();
photo.name = file.filename;
return this.photoService.create(photo);
}
Describe the solution you'd like
There should be defined way of doing these basic file validations when files are uploaded as an array.
Teachability, documentation, adoption, migration strategy
@UseInterceptors(
FilesInterceptor('files[]', 5, {
storage: diskStorage({
destination: './dist/assets/uploads'
}),
}),
)
@Post('/bulk')
uploadFiles(
@Body() _body: any,
@UploadedFiles(
new ParseFilePipeBuilder()
.addFileTypeValidator({
fileType: /(jpg|jpeg|png|gif)$/,
})
.addMaxSizeValidator({ maxSize: 5242880 })
.build({
errorHttpStatusCode: HttpStatus.UNPROCESSABLE_ENTITY,
}),
)
files: Express.Multer.File[],
) {
const photo = new Photo();
photo.name = file.filename;
return this.photoService.create(photo);
}
What is the motivation / use case for changing the behavior?
Right now, not able to perform or reuse the logic for multiple files upload.