【问题标题】:Convert file path to full URL with Express使用 Express 将文件路径转换为完整 URL
【发布时间】:2020-01-03 02:07:59
【问题描述】:

我有一个用 express 编写的 Node.js 后端代码。

我上传图片并将其保存在一个文件夹中。我将这个文件的绝对路径保存在数据库中。

我想知道如何将绝对路径转换为带有主机名的正确 URL,最终是一个端口。我可以用快递做吗?

例子:

{
    "isSuccess": true,
    "data": {
        "id": "5e0deb6dfe82df845fd04d88",
        "url": ==> Here I want the protocol, hostname and port <=="/api/picture/5da78ac350d5deec229ecf09ef7497fc"
    }
}

【问题讨论】:

  • 这样做的目的或用例是什么?主机名在技术上可能会随着时间而改变。例如,如果您有多个域指向此服务器的同一 IP 地址。
  • 这只是一个简单的 REST API,当我想从特定用户那里检索信息时,例如我更喜欢直接链接到他的个人资料图片

标签: node.js api express


【解决方案1】:

req.hostname 包含 URL 信息。

{
    "isSuccess": true,
    "data": {
        "id": "5e0deb6dfe82df845fd04d88",
        "url": req.hostname + "/api/picture/5da78ac350d5deec229ecf09ef7497fc"
    }
}

【讨论】:

  • 重要的是要注意这与Host 标头值相同。所以从技术上讲,它不能保证存在。
猜你喜欢
  • 2013-06-29
  • 2018-10-15
  • 1970-01-01
  • 2017-03-16
  • 1970-01-01
  • 1970-01-01
  • 2014-05-04
  • 2014-10-29
相关资源
最近更新 更多