【发布时间】:2020-02-29 04:20:39
【问题描述】:
我正在构建一个应用程序,目前面临一个问题,我想返回存储在我的服务器中的图像。我想将图像返回给 React 客户端,然后它将在我的组件中呈现。但我不知道如何返回图像本身。据我了解,我需要将图像作为 JSON 返回吗?但不知道如何在 Nest.js 框架中做到这一点。
【问题讨论】:
我正在构建一个应用程序,目前面临一个问题,我想返回存储在我的服务器中的图像。我想将图像返回给 React 客户端,然后它将在我的组件中呈现。但我不知道如何返回图像本身。据我了解,我需要将图像作为 JSON 返回吗?但不知道如何在 Nest.js 框架中做到这一点。
【问题讨论】:
首先你应该有一个服务来提供静态文件。您可以使用 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的文章。
【讨论】:
app.use(express.static(path.join(__dirname, '..', 'pictures'))); 它存储在 dist 文件夹中而不是 src 中。知道为什么会这样吗?