Express如何显示非static目录的图片?
发布于 6 年前 作者 cool-firer 4783 次浏览 来自 问答

想请问一下,express中设置了static目录后,可以直接通过在浏览器访问目录下的文件。 如果我想要显示非static目录下的图片,该怎么做?不想copy到static目录

7 回复

把它也干成static… -.-

@ntfs32 可是我想动态的显示某个目录,可以选择显示A目录下的图片,也可以选择显示B目录的图片呢?

如果是 nginx ,可以参考这里: https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/ 先把 ngxin 配置好,然后在 express 只要发一个 X-Accel-Redirect header 就完事了。nginx 捕猜这个 header 然后帮你干剩下的事情。这种方式效率好些。

如果没有反代,那就开一个 filestream pipe 到 res 上去就行了。

针对你的访问路径写个route,通过url来区分来文件目录,然后node去读取返回图片文件咯。

静态是事情还是让nginx去干比较好 自豪地采用 CNodeJS ionic

赞成1楼4楼

exports.getImage = function (req, res) { console.log(‘requrl,’, req.url); var path = url.parse(req.url); fs.readFile(path.query, “binary”, function (err, file) { if (err) console.log(err); res.write(file, “binary”); res.end(); }) }; 这是我曾经用过的读图方法

回到顶部