gpt4 book ai didi

javascript - 如何以一种轻松的方式将 Node.js 中的私有(private)文件夹中的图像提供给网站/应用程序?

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:17 27 4
gpt4 key购买 nike

嘿,我如何以一种轻松的方式将 Node.js 的私有(private)文件夹中的图像提供给网站/应用程序?我目前将图像保存在公共(public)文件夹中的 img 文件夹中,同时将图像的 id 保存在数据库中,当用户转到他的个人资料时,通过查找图片 id 并设置路径来加载他的图片将图片公开 > img > id,但是这不好,原因有两个......

一:这张照片对任何人都是公开的......二:这意味着所有图片都被加载,因为图片位于网站的资源中......

可能还有更多问题......但我试图弄清楚如果我将图像的路径更改为私有(private)文件夹,如何提供服务,如何允许网站询问用户的个人资料图片并能够将其返回,或者如果用户在 Android 应用程序上访问他的个人资料?

此外,如果图像是服务器、静态或其他什么,我计划将来使用 Nginx...

最佳答案

更新 - 对于 Express 4.x,使用 res.sendFile

app.get('/user/:uid/photos/:file', function (req, res) {
var uid = req.params.uid
var file = req.params.file

req.user.mayViewFilesFrom(uid, function (yes) {
if (yes) {
res.sendFile('/uploads/' + uid + '/' + file)
} else {
res.status(403).send("Sorry! You can't see that.")
}
})
})

针对恶意上行路径/../的安全性是included .

  var fs = require('fs')

function(req, res) {
var id = req.param('id')
fs.exists('/private/img/'+id, function(exists) {
if(exists) res.sendfile('/private/img/'+id)
else res.end('err')
})
}

关于javascript - 如何以一种轻松的方式将 Node.js 中的私有(private)文件夹中的图像提供给网站/应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20697924/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com