当前位置: 首页 > news >正文

Nest学习随笔

一、Middleware(中间件)、Interceptor(拦截器)、ExceptionFilter(异常过滤器) 执行顺序

  1. 接口调用正常:Middleware  ==>  Interceptor
  2. 接口调用异常:Middleware  ==>  ExceptionFilter

 二、访问静态文件

        使用 @nestjs/serve-static 依赖

        配置方法:

// app.module.ts
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UserModule } from './user/user.module';
import { ListModule } from './list/list.module';
import { UploadModule } from './upload/upload.module';//访问静态文件
import { ServeStaticModule } from '@nestjs/serve-static';
import { join } from 'path';
@Module({imports: [ServeStaticModule.forRoot({rootPath: join(__dirname, '..', 'public/upload'),serveRoot: '/static',}),UserModule,ListModule,UploadModule,],controllers: [AppController],providers: [AppService],
})
export class AppModule {}

三、上传文件

创建upload curd
在upload.module.ts

// upload.module.ts
import { Module } from '@nestjs/common';
import { UploadService } from './upload.service';
import { UploadController } from './upload.controller';
import { diskStorage } from 'multer';
import { MulterModule } from '@nestjs/platform-express';
import { extname, join } from 'path';
@Module({imports: [MulterModule.register({storage: diskStorage({//这里不需要使用__dirnamedestination: join('./public/upload'),filename: (_, file, callback) => {const filename = `${new Date().getTime() + extname(file.originalname)}`;return callback(null, filename);},}),}),],controllers: [UploadController],providers: [UploadService],
})
export class UploadModule {}

upload.controller.ts

// upload.controller.ts
import {Controller,Post,UseInterceptors,UploadedFile,
} from '@nestjs/common';
import { UploadService } from './upload.service';
import { FileInterceptor } from '@nestjs/platform-express';
@Controller('upload')
export class UploadController {constructor(private readonly uploadService: UploadService) {}@Post('album')@UseInterceptors(FileInterceptor('file'))upload(@UploadedFile() file) {console.log('file', file);return true;}
}

http://www.lryc.cn/news/325629.html

相关文章:

  • 二十二、软考-系统架构设计师笔记-真题解析-2018年真题
  • 2024最新最全Selenium自动化测试面试题!
  • Docker 搭建Redis集群
  • spring boot商城、商城源码 欢迎交流
  • 全面解析“通义千问”:功能、优势与使用指南
  • 【第三方登录】Google邮箱
  • oslo_config学习小结
  • SpringBoot2.6.3 + knife4j-openapi3
  • PostgreSQL FDW(外部表) 简介
  • Java项目:75 springboot房产销售系统
  • 2.6 IDE(集成开发环境)是什么
  • tomcat和web服务器是什么??
  • 鸿蒙Harmony跨模块交互
  • 由浅到深认识Java语言(30):集合
  • Python学习笔记(二)
  • 5.域控服务器都要备份哪些资料?如何备份DNS服务器?如何备份DHCP服务器?如何备份组策略?如何备份服务器状态的备份?
  • TCP与UDP:网络协议的技术原理与要点
  • vue-office/docx插件实现docx文件预览
  • STM32—控制蜂鸣器(定时器)
  • 【React】使用 JSX 为 JavaScript 添加标签
  • Docker构建多平台(x86,arm64)构架镜像
  • python爬虫基础-----运算符(第三天)
  • Itextpdf电子签章
  • 两台电脑简单的通信过程详解(经过两个路由器,不同网段)
  • Java基于微信小程序的助农扶贫系统的研究与实现
  • RocketMq方便测试,提供一个controller的接口,支持拉取消息,查看消息内容
  • win10 下Msys2编译FFmpeg的流程方法
  • 用 Delphi 做 FTP 服务器以及如何配置防火墙
  • 《SQL必知必会第五版》第十四章(组合查询)挑战题
  • elasticsearch+kibana安装部分问题: