【问题标题】:(Node.js) How to get URL of a binary file stored in server?(Node.js)如何获取存储在服务器中的二进制文件的 URL?
【发布时间】:2015-07-23 03:25:00
【问题描述】:

我正在使用 node.js 开发一个服务,它返回一个指向存储在我的服务数据库中的文件的 url。在我的程序中,我将文件保存到例如“./aFolder/filename.jpg”。我将使用 DigitalOcean。 我的问题是: 1、这样的url是什么形式的? 2. 如何使用 node.js 在我的代码中获取该 url?

提前谢谢你。

【问题讨论】:

  • 您可以尝试我的建议来启用您的文件下载吗?

标签: javascript node.js url digital-ocean


【解决方案1】:

URL 将是您想要的任何内容,因为您可能是编写代码来处理传入请求的人。

http://uri/download/aFolder/filename.jpg 之类的选项似乎是一个合理的选择,但您需要编写应用程序来接受这些路径。

您可能想查看Express,您可以在其中通过app.route() 添加路由处理程序,这样/download 的任何内容都会被特定的回调处理,该回调有助于将URL 映射到您的文件系统,并且可能会发送正确的文件使用res.download()

一个基本的骨架可能是:

app.route('/download:path')
.all(function(req, res, next) {
    res.download(req.params.path)
})

【讨论】:

  • 请注意,如果不过滤点(以及可能的其他特殊字符),“按原样”使用骨架可能会导致远程文件读取漏洞。
猜你喜欢
  • 1970-01-01
  • 2015-01-18
  • 2019-05-30
  • 2013-09-10
  • 2013-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
相关资源
最近更新 更多