首页 > 解决方案 > nestjs上传文件和图片系统

问题描述

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

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

文件.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                                                                                                                                                           
} 

什么是顺从?

标签: nestjsnestjs-config

解决方案


你需要MulterModule在你的FilesModule而不是仅仅AppModule因为MulterModule不是@Global()所以添加它只是AppModule意味着AppModule让配置与它一起工作destFilesModule不是


推荐阅读