繁体   English   中英

如果我在 NestJS 中只有相对路径,如何返回绝对路径?

[英]How to return an absolute path if i have only a relative path in NestJS?

我有一个带有 typeORM 驱动程序(MySQL)的 NestJS 项目。 当用户上传照片时,服务器将文件保存在公共目录中并在数据库中保存相对路径:/public/user22.png

当用户发送请求以获取有关其个人资料的信息时,服务器应返回绝对路径。 用户也可以获得用户列表。

我可以为用户配置文件编辑返回的 object。 但我不想使用循环来编辑用户列表。 有没有解决问题的最佳算法?

您有两种解决方案可以将相对路径转换为绝对路径。

第一个选项是 append 前端使用的每个图像都基于一个名为apiBaseUrl的环境变量。

const users = await axios.get('/users');

<img src={`${process.env.NEXT_PUBLIC_API_BASEURL}/${users.image}`}/>

当然,如果您多次使用它,它将开始未优化。

第二个选项是在返回结果之前创建修改,以使用名为baseUrl的环境变量修改photo值。

const result: exampleEntity = this.exampleRepository.find();

const newExample: exampleEntity = this.exampleRepository.create({
      ...result,
      photo: this.configService.baseUrl + result.photo,
    });

return entityExample;

如果暂时不处理环境变量,可以阅读配置文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM