typescript - Hur man får åtkomst till flera undermappar med ServeStaticModule i Nestjs?


Jag har två olika moduler för bilder av Inlägg och Profil. Så jag kan spara bilderna i två olika undermappar i tillgångar.

Min mappstruktur

Nu är problemet att jag kan komma åt bilderna i posts-mappen på Google på detta sätt http://localhost:3000/47b7a6b9c10.jpg

men när jag försöker komma åt profile-mappen med bilder som detta http://localhost:3000/93d1a567c5.png får jag en tom sida. Och kan inte se bilden.

Den nuvarande koden i app.module.ts

 PostsModule,
    ProfileModule,

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

Saker som jag försökte med

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'),
    }),

Med min nuvarande kod kan jag komma åt undermappen som finns först. Om jag till exempel ersätter assets/posts med assets/profile kan jag komma åt profilbilder och vice versa

Svar #1

Jag har hittat lösningen för min specifika situation. Termen renderPath gjorde susen.

Lösning

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

För att få ytterligare information om andra ServeStaticModule API SPEC-alternativ och egenskaper besök https://www.npmjs.com/package/@nestjs/serve-static