zoukankan      html  css  js  c++  java
  • Nestjs 上传文件

    $ npm i -D @types/multer
    

    上传单文件

    import { Post, UseInterceptors, UploadedFile } from '@nestjs/common';
    import { FileInterceptor } from '@nestjs/platform-express';
    
      @Post('upload')
      @UseInterceptors(FileInterceptor('file')) // file对应HTML表单的name属性
      UploadedFile(@UploadedFile() file: Express.Multer.File, @Body() body){
        l(body.name)
        const writeImage = createWriteStream(join(__dirname, '..', 'upload', `${file.originalname}`))
        writeImage.write(file.buffer)
      }
    

    上传文件数组

      @Post('upload')
      @UseInterceptors(FilesInterceptor('files'))
      UploadedFile(@UploadedFiles() files, @Body() body) {
        if (!body.name || files.length === 0) {
          throw new HttpException('请求参数错误.', HttpStatus.FORBIDDEN)
        }
        for (const file of files) {
          const writeImage = createWriteStream(join(__dirname, '..', 'upload', `${body.name}-${Date.now()}-${file.originalname}`))
          writeImage.write(file.buffer)
        }
      }
    


    上传多个字段的文件

      @Post('upload')
      @UseInterceptors(FileFieldsInterceptor([{
          name: 'front',
          maxCount: 1
        },
        {
          name: 'back',
          maxCount: 1
        },
      ]))
      UploadedFile(@UploadedFiles() files, @Body() body) {
        if (!body.name || _.isEmpty(files)) {
          throw new HttpException('请求参数错误.', HttpStatus.FORBIDDEN)
        }
    
        _.each(files, (v: any[], k: string) => {
          for (const file of v) {
            const writeImage = createWriteStream(join(__dirname, '..', 'upload', `${body.name}-${k}-${Date.now()}-${file.originalname}`))
            writeImage.write(file.buffer)
          }
        })
      }
    

  • 相关阅读:
    Digital image processing In C#
    C#数字图像处理(摘录)
    C# P/Invoke中传递数组参数
    字符常用方法(c#)——(待扩展)
    java监控多个线程的实现
    jdbc访问数据库
    java与MSSQL2000连接
    java下的日期函数实现
    MyEclipse中防止代码格式化时出现换行的情况的设置
    java InputStream读取数据问题
  • 原文地址:https://www.cnblogs.com/ajanuw/p/9575278.html
Copyright © 2011-2022 走看看