提供存储在网页根目录以外的照片时,我需要使用什么url?

我是新来的网页开发,我想弄清楚如何提供存储在网站根外的照片。 我知道,出于安全原因,我不应该在网页根目录中存储照片(由用户上传),但这似乎是一个问题。 如何向用户显示这些照片? 这是我到目前为止:

app.get('/photos', function(req, res) { var fs = require('fs'); fs.readFile('./photos/photo_1.jpg', 'utf8', function (err,data) { if (err) { return console.log(err); } pic = data; }); } 

问题是我真的不知道从这里做什么。 对于存储在web根目录中的照片,我会做如下的事情:

 <img src="inside-web-root-directory/pics/some_pic.jpg" alt="pic"> 

我只是不知道如何把照片不存储在网站根目录内的src里面。 我该怎么办?

如果您只是从其他位置直接检索照片,则最好将它们放在Web服务器的文档根目录中,因为它同样不安全。 您可以使用Express的静态模块。 我不推荐在这种情况下。

在这种情况下,我所做的就是接受一个I​​D号码,它是指包含其他信息(谁上传,何时等)的数据库中的logging,并在磁盘上包含资产的真实文件名。 该资产以ID号或其他GUID(无文件扩展名)命名,并根据请求返回。 例如:

 app.get('/photos/:id', function (req, res) { // Use req.params.id to look up your image in a database // Use res.sendfile to send the real file on disk to the user });