You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NestJs配置静态图片服务失败:无法访问指定文件夹图片

问题原因
  1. 路径解析错误:编译后__dirname指向dist/src目录,你当前配置里的join(__dirname, '..', '/uploads')会解析到dist/uploads,但实际uploads文件夹在项目根目录,并非dist目录下,导致Nest找不到对应文件。
  2. 错误日志里的dist/uploads/index.html也印证了这一点——Nest在错误的路径下寻找静态资源,自然找不到test.jpg。
解决方案

直接修改ServeStaticModule的rootPath配置,用process.cwd()获取项目根目录,再拼接uploads文件夹:

@Module({
  imports: [
    ConfigModule.forRoot({ isGlobal: true }),
    AuthenticationModule,
    PrismaModule,
    UserModule,
    ServeStaticModule.forRoot({
      rootPath: join(process.cwd(), 'uploads'), // 改为项目根目录下的uploads
      serveRoot: '/uploads',
    }),
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

修改后重启服务,访问http://localhost:3000/uploads/test.jpg即可正常打开图片。

额外说明:用process.cwd()直接读取根目录的uploads文件夹,无需手动将uploads复制到dist目录,更省心。

内容的提问来源于stack exchange,提问作者Asking

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 08:24:57