NestJs 使用总结

(NestJS)是一个框架,构建高效、可扩展节点。js服务器端应用程序。它使用先进的JavaScript,构建和完全支持打印稿(但仍使开发人员能够在纯JavaScript代码)和结合元素的OOP(面向对象编程),FP(函数式编程), FRP(功能性反应性编程)。

NestJs 文档
NestJs中文 文档

File Upload 文件上传

1、在controller里面写路由和逻辑

@Post('/upload')
    @UseInterceptors(FileInterceptor('file'))
    async uploadFile(@UploadedFile() files) {
        return files
    }

2、在AppModule 里面使用MulterModule()设置文件最终默认的存放路径。

@Module({
    imports: [
        MulterModule.register({
            dest: 'uploads'
        }),
        CatsModule
    ],
    controllers: [AppController, CatsController],
    providers: [AppService],
})
export class AppModule { }

注意 返回的文件路径我们选择Express来设置静态文件的存放地址

import { NestExpressApplication } from '@nestjs/platform-express'

3、在main.ts里面 改造原理的文件。NestFactory.create()方法是个范型类。可以把我们的 NestExpressApplication 传到范型约束里面。
然后使用useStaticAssets()去设置静态资源的访问路径。
使用setBaseViewsDir() 设置视图的模版文件。

const app = await NestFactory.create<NestExpressApplication>(AppModule);
    app.useStaticAssets(join(__dirname, '..', 'uploads'), {
        prefix: '/uploads'
    })
    app.setBaseViewsDir(join(__dirname, '..', 'views'))
    app.setViewEngine('hbs')
posted @   boygdm  阅读(1030)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示