Docs: https://docs.nestjs.com/techniques/file-upload

上传单文件

import { FileInterceptor } from '@nestjs/platform-express';

  @Post('upload')
@UseInterceptors(FileInterceptor('file')) // file对应HTML表单的name属性
UploadedFile(@UploadedFile() 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)
}
})
}

Nestjs 上传文件的更多相关文章

  1. Nestjs 上传文件到七牛云

    $ npm install qiniu import * as url from 'url'; import * as qiniu from 'qiniu'; @Post('upload') @Use ...

  2. IE8/9 JQuery.Ajax 上传文件无效

    IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...

  3. 三种上传文件不刷新页面的方法讨论:iframe/FormData/FileReader

    发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向.以一个简单的demo做说明: html如下所示,请求的路径action为"up ...

  4. asp.net mvc 上传文件

    转至:http://www.cnblogs.com/fonour/p/ajaxFileUpload.html 0.下载 http://files.cnblogs.com/files/fonour/aj ...

  5. app端上传文件至服务器后台,web端上传文件存储到服务器

    1.android前端发送服务器请求 在spring-mvc.xml 将过滤屏蔽(如果不屏蔽 ,文件流为空) <!-- <bean id="multipartResolver&q ...

  6. .net FTP上传文件

    FTP上传文件代码实现: private void UploadFileByWebClient() { WebClient webClient = new WebClient(); webClient ...

  7. 通过cmd完成FTP上传文件操作

    一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...

  8. 前端之web上传文件的方式

    前端之web上传文件的方式 本节内容 web上传文件方式介绍 form上传文件 原生js实现ajax上传文件 jquery实现ajax上传文件 form+iframe构造请求上传文件 1. web上传 ...

  9. Django session cookie 上传文件、详解

    session 在这里先说session 配置URL from django.conf.urls import patterns, include, url from django.contrib i ...

随机推荐

  1. api日常总结:前端常用js函数和CSS常用技巧

    我的移动端media html{font-size:10px} @media screen and (min-width:321px) and (max-width:375px){html{font- ...

  2. 自定义UIPickView

    效果图 源码 https://github.com/YouXianMing/Animations 说明 1. 数据适配器PickerViewDataAdapter含有PickerViewCompone ...

  3. Linux之网络编程:时间服务器

    基于TCP-服务器 1,创建一个socket套接字 int socket(int domain,int type,int protocol) domain:IP地址族,AF_INET(IPv4).AF ...

  4. [Linux] - SVN忽略文件夹更新的命令与方法

    在服务器上有时需要忽略某个文件夹及内容的更新,可以使用命令: svn update --set-depth=exclude FOLDER_NAME 比如需要忽略static目录: svn update ...

  5. PowerShell 显示气球提示框 2

    https://www.itninja.com/blog/view/reboot-required-toast-notifications-for-windows-machines [void][Sy ...

  6. 【html+css3】在一张jpg图片上,显示多张透明的png图片

    1.需求:在一个div布局里面放置整张jpg图片,然后在jpg图片上显示三张水平展示的透明png图片,且png外层用a标签包含菜单 2.效果图: 3.上图,底层使用蓝色jpg图片,[首页].[购物车] ...

  7. Atitit 华为基本法 attilax读后感

    Atitit 华为基本法 attilax读后感 “精神对物质的比重是三比一” 认可拿破仑的这句格言 在20多年中国商业和企业史上,一个最基本.也是最大的现象就是,为什么"中国制造" ...

  8. Windows 10 Version 1803 (Updated March 2018) MSDN 镜像下载

    微软已按先前预期于美国时间 2018 年 4 月 30 日正式向所有用户发布了 Windows 10 Version 1803 (Updated March 2018) 的 ISO 镜像下载,按微软官 ...

  9. php 慢配置文件

    [root@localhost etc]# cat php-fpm.conf[global]pid = /usr/local/php/var/run/php-fpm.piderror_log = /u ...

  10. vscode圣诞帽

    今天打开vscode,偶然发现左下角的圣诞帽子 vscode版本: