【问题标题】:How to return an image to the client using Nest.js framework?如何使用 Nest.js 框架向客户端返回图像?
【发布时间】:2020-02-29 04:20:39
【问题描述】:

我正在构建一个应用程序,目前面临一个问题,我想返回存储在我的服务器中的图像。我想将图像返回给 React 客户端,然后它将在我的组件中呈现。但我不知道如何返回图像本身。据我了解,我需要将图像作为 JSON 返回吗?但不知道如何在 Nest.js 框架中做到这一点。

【问题讨论】:

    标签: image file return nestjs


    【解决方案1】:

    首先你应该有一个服务来提供静态文件。您可以使用 Nest.JS 实现这一点。例如,如果您的图像放置在公共文件夹中,放置在项目的根目录中,您只需将以下行添加到您的 main.ts 文件中即可提供它:

    import { join } from 'path';
    async function bootstrap() {
      const app = await NestFactory.create(AppModule);
      app.use('/public', express.static(join(__dirname, '..', 'public'))); // <-
      await app.listen(3000);
    }
    

    然后,例如,您将 cat.png 放在公用文件夹中,并且您想在回复中发送此内容,您可以发送如下内容:

    {
       image: `${baseUrl}/public/cat.png`
    }
    

    例如,对于您的本地服务器,baseURL 将是 http://localhost:3000
    更详细的解释可以看this的文章。

    【讨论】:

    • 我也是这样做的。那是在 main.ts 文件中,我将代码 app.use(express.static(path.join(__dirname, '..', 'pictures'))); 它存储在 dist 文件夹中而不是 src 中。知道为什么会这样吗?
    猜你喜欢
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多