代码之家  ›  专栏  ›  技术社区  ›  Y.O.AK

Multipart:使用nestjs意外结束表单

  •  0
  • Y.O.AK  · 技术社区  · 2 年前
      @Post()
      @Roles('USER', 'ADMIN')
      @ApiBody({
        description: 'Upload file',
        type: 'object',
        required: true,
      })
      @UseInterceptors(FileInterceptor('file'))
      @ApiConsumes('multipart/form-data')
      async uploadFile(
        @UploadedFile()
        file: Express.Multer.File,
      ) {
        console.log(file);
        await this.uploadService.uploadToFile(file);
        return { message: 'File uploaded successfully' };
     }
    

    我正试图创建一个端点来用nestjs上传文件,当我在poster上用表单数据测试这个端点并将键值设置为file时,我一直收到这个错误

    {
        "statusCode": 400,
        "message": "Multipart: Unexpected end of form"
    }
    

    我尝试了不同的图像,并尝试在没有FileInterceptor的情况下发送请求,文件会被记录,但作为一个普通对象

    {
      fieldname: 'file',
      originalname: 'pre-order-now.png',
      encoding: '7bit',
      mimetype: 'image/png',
      destination: './uploads/',
      filename: 'name.png',
      path: 'uploads/pre-order-now.png',
      size: 1127
    }
    
    0 回复  |  直到 2 年前
        1
  •  0
  •   Code Lean    2 年前

    在我的案例中,有一个配置错误的中间件导致了线程问题,我建议您检查您的主ts