typescript 如何在Nestjs中使用ServeStaticModule访问多个子文件夹?

ha5z0ras  于 2022-11-30  发布在  TypeScript
关注(0)|答案(1)|浏览(263)

我有两个不同的模块的图片职位个人资料。所以我可以保存在两个不同的子文件夹的资产的图像。

我的文件夹结构

现在的问题是,我可以访问谷歌上的posts文件夹图像,就像这个http://localhost:3000/47b7a6b9c10.jpg
但当我尝试访问个人资料文件夹图像像这样的http://localhost:3000/93d1a567c5.png我得到了空白页。看不到图像。

app.module.ts中的当前代码

PostsModule,
    ProfileModule,

    ServeStaticModule.forRoot(
      {
        rootPath: join(__dirname, '..', 'assets/posts'),
      },
      {
        rootPath: join(__dirname, '..', 'assets/profile'),
      },
    ),

"我尝试过的东西"

1-

ServeStaticModule.forRoot({
      rootPath: join(__dirname, '..', 'assets/posts'),
    }),

ServeStaticModule.forRoot({
      rootPath: join(__dirname, '..', 'assets/profile'),
    }),

2-

ServeStaticModule.forRoot(
      {
        serveRoot: '/assets',
        rootPath: join(__dirname, '..', '/posts'),
      },
      {
        serveRoot: '/assets',
        rootPath: join(__dirname, '..', '/profile'),
      },
    ),

3-

ServeStaticModule.forRoot({
      serveRoot: '/assets',
      rootPath: join(__dirname, '..', '/posts'),
    }),

    ServeStaticModule.forRoot({
      serveRoot: '/assets',
      rootPath: join(__dirname, '..', '/profile'),
    }),

使用“我的当前代码”,我可以访问第一次出现的子文件夹。例如如果我将assets/posts替换为assets/profile,我可以访问配置文件图像,反之亦然

jm81lzqq

jm81lzqq1#

我已经找到了适合我的特殊情况的解决方案,术语renderPath很管用。
“我的衣服"

ServeStaticModule.forRoot(
      {
        rootPath: join(__dirname, '..', 'assets/posts'),
        renderPath: '/posts',
      },
      {
        rootPath: join(__dirname, '..', 'assets/profile'),
        renderPath: '/profile',
      },
    ),

如欲了解有关其他ServeStaticModule API SPEC optionsproperties的更多信息,请访问https://www.npmjs.com/package/@nestjs/serve-static

相关问题