gpt4 book ai didi

node.js - 使用 express 发送修改后的文件

转载 作者:搜寻专家 更新时间:2023-11-01 00:33:27 25 4
gpt4 key购买 nike

我想根据 URL 路由传送文件的修改版本。

app.get('/file/:name/file.cfg', function (req, res) {
res.send(<the file file.cfg piped through some sed command involving req.params.name>)
});

重点是,响应不应该是 text/html 类型,它应该是与正常情况相同的 MIME 类型(这可能仍然是错误的,但至少它是有效的)。

我知道这种方法存在安全问题。问题是关于如何使用 express 和 node.js 执行此操作,我一定会放入大量代码来清理输入。更好的是,永远不要打 shell(很容易使用 JS 而不是例如 sed 来进行转换)

最佳答案

我相信答案是这样的:

app.get('/file/:name/file.cfg', function (req, res) {
fs.readFile('../dir/file.cfg', function(err, data) {
if (err) {
res.send(404);
} else {
res.contentType('text/cfg'); // Or some other more appropriate value
transform(data); // use imagination please, replace with custom code
res.send(data)
}
});
});

我碰巧正在使用的 cfg 文件是(这是 Node repl 的转储):

> express.static.mime.lookup("../kickstart/ks.cfg")
'application/octet-stream'
>

非常通用的选项,我会说。 Anaconda 可能会很感激。

关于node.js - 使用 express 发送修改后的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17634456/

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