Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version
  1. Install multer package by running the command: npm install --save @nestjs/platform-express multer.
  2. Import the MulterModule from @nestjs/platform-express in your module file:
import { MulterModule } from '@nestjs/platform-express';
  1. Configure the MulterModule with desired options in the module file:
@Module({
  imports: [
    MulterModule.register({
      dest: './uploads',
      limits: {
        fileSize: 1024 * 1024, // Maximum file size (in bytes)
      },
    }),
  ],
  controllers: [FilesController],
  providers: [FilesService],
})
export class FilesModule {}
  1. In the controller or service where you handle file uploads, use the @UseInterceptors decorator to specify that you want to use the MulterInterceptor:
@UseInterceptors(
  FilesInterceptor('fieldname', 10, {
    fileSize: 1024 * 1024,
  }),
)
uploadFile(@UploadedFiles() files) {
  console.log(files);
}

Here fieldname is the name of the file input field, 10 is the maximum number of files that can be uploaded, and fileSize is the maximum file size allowed for each file. 5. Test the file upload functionality and see that files larger than the specified size are rejected.