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