(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')