Cześć!
Ostatnio napotkałem dość upierdliwy problem z moją aplikacją (API) stworzoną w nestJS. Mianowicie aplikacja serwuje pliki statyczne (na ten moment tylko zdjęcia), które umieszczane są w głównym katalogu aplikacji w folderze uploads/images. Wszystko super działało do pewnego momentu kiedy zapytania kierowane pod adres z lokalizacją moich plików statycznych zaczęły zwracać błąd 404. Dodam, że przeglądałem wszystkie commity od momentu +/- kiedy przestało to działać i w głównych plikach aplikacji jak app.module.ts, main.ts nie dokonywałem żadnych zmian.
main.ts
async function bootstrap() {
const app: NestExpressApplication = await NestFactory.create(AppModule);
const config: ConfigService = app.get(ConfigService);
const port: number = config.get<number>('PORT');
const appConfiguration = new DocumentBuilder()
.setTitle('Evelto API')
.setDescription('Evelto-Project API Documentation')
.setVersion('1.0')
.addTag('evelto')
.build();
const swaggerOptions: SwaggerDocumentOptions = {
operationIdFactory: (controllerKey: string, methodKey: string) => methodKey,
};
const document = SwaggerModule.createDocument(
app,
appConfiguration,
swaggerOptions,
);
SwaggerModule.setup('api', app, document);
app.setGlobalPrefix('v1');
app.useGlobalPipes(new ValidationPipe({ whitelist: true, transform: true }));
app.enableCors();
app.useStaticAssets(join(__dirname, '..', 'uploads'), {
index: false,
prefix: '/uploads',
});
await app.listen(port, () => {
console.log('[WEB]', config.get<string>('BASE_URL'));
});
}
bootstrap();
Zapytanie kierowane na adres http://localhost:3000/uploads/images/test.jpg zwraca 404 "Cannot GET /uploads/images/test.jpg"
Jeśli zna ktoś prawdopodobną przyczynę tego błędu to będę bardzo wdzięczny za pomoc. Sam już siedzę nad tym od 3 dni :/
Pozdrawiam!