如何防止res.sendFile更改文件路径?

时间:2019-05-13 11:33:08

标签: node.js

我正在使用node.js,并希望将文件发送到前端。所以我指定了文件的直接路径,例如: 路径=“ c:/ app / A” 当我运行res.sendFile(path,fileName); 我收到错误消息:ENOENT:没有这样的文件或目录,stat'/ home / projects / c:/ app / A' 如何禁用添加“ / home / projects”部分的此自动路径? 我想用我的代码下载不在我的项目文件夹中的文件。文件在我的计算机上的其他文件夹中。

2 个答案:

答案 0 :(得分:0)

尝试将\\用作Windows(c:\\app\\A)的路径定界符,并了解有关Node.js模块“ path”的信息。

答案 1 :(得分:0)

所以我只需要使用新的URL(file:${"c:/app/A"}); 这样就可以了:

let filename = "someName.com"
let absPath = "c:/app/someName.com";
fs.writeFileSync(`${filename}`, fs.readFileSync(new URL(`file:${absPath}`)));
res.download(`${filename}`, `${filename}`)