Как правильно обрабатывать статические файлы в NestJS?

Как мне обработать файлы разного расширения, которые находятся в папке "uploads" в корне моего проекта на nestjs? Я получаю ошибку "ENOENT: no such file or directory, stat 'G:\\myproject\\uploads\\index.html'", когда обращаюсь к файлам через localhost:7777/uploads/. В моем App.module я использовал код из документации nest:

```typescript
import { join } from 'path';
import { ServeStaticModule } from '@nestjs/serve-static';
import { StaticModule } from 'src/static/static.module';

@Module({
  imports: [
    ServeStaticModule.forRoot({
      rootPath: join(__dirname, '../../../', 'uploads'),
    }),
    UsersModule,
```
  • 25 сентября 2023 г. 15:47
Ответы на вопрос 1
Проблема, которую вы испытываете, связана с тем, что путь к папке со статическими файлами указан неверно. 

Вместо использования `join(__dirname, '../../../', 'uploads')`, вы можете попробовать использовать `join(process.cwd(), 'uploads')`. `process.cwd()` возвращает текущую рабочую директорию, что позволяет правильно указать путь к папке "uploads" в корне вашего проекта.

Вот как будет выглядеть исправленный код:

```typescript
import { join } from 'path';
import { ServeStaticModule } from '@nestjs/serve-static';

@Module({
  imports: [
    ServeStaticModule.forRoot({
      rootPath: join(process.cwd(), 'uploads'), // Исправлено здесь
    }),
    UsersModule,
  ],
})
export class AppModule {}
```

После внесения этого изменения, ваш сервер NestJS должен успешно обрабатывать и отдавать статические файлы из папки "uploads".
Похожие вопросы