nestjs上传文件和图片系统

nestjs upload file and image system

我想创建一个文件上传器部分。 我按顺序排列了以下代码: app.module.ts :

imports: [
  MulterModule.register({
     dest: './uploads',
  }),
]

files.controller.ts :

  @Post('upload')
  @UseInterceptors(FileInterceptor('file'))
  uploadFile(@UploadedFile() file) {
    console.log(file);
  }

发送文件后我不会收到任何错误,但文件不会上传:

{                                                                                                                                                                       
  fieldname: 'file',                                                                                                                                                    
  originalname: 'xsmn4d0c_thumb3.jpg',                                                                                                                                  
  encoding: '7bit',                                                                                                                                                     
  mimetype: 'image/jpeg',                                                                                                                                               
  buffer: <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 01 00 60 00 60 00 00 ff db 00 43 00 08 06 06 07 06 05 08 07 07 07 09 09 08 0a 0c 14 0d 0c 0b 0b 0c 19 12 13 0f 
... 10640 more bytes>,                                                                                                                                                  
  size: 10690                                                                                                                                                           
}                                                                                                                                                                       
   

但在 app.controller.ts 上使用此代码,上传成功: files.controller.ts :

  @Post('upload')
  @UseInterceptors(FileInterceptor('file'))
  uploadFile(@UploadedFile() file) {
    console.log(file);
  }
{                                                                                                                                                                       
  fieldname: 'file',                                                                                                                                                    
  originalname: 'xsmn4d0c_thumb3.jpg',                                                                                                                                  
  encoding: '7bit',                                                                                                                                                     
  mimetype: 'image/jpeg',                                                                                                                                               
  destination: './upload',                                                                                                                                              
  filename: '651c4567aeadc02e63c449feeac158fa',                                                                                                                         
  path: 'upload/651c4567aeadc02e63c449feeac158fa',                                                                                                                      
  size: 10690                                                                                                                                                           
} 

什么是遵从?

您需要 FilesModule 中的 MulterModule,而不仅仅是 AppModule,因为 MulterModule 不是 @Global(),因此仅将其添加到 AppModule 意味着 AppModule 让配置与 dest 一起工作,而 FilesModule 不会