在Windows计算机上,我有一个映射共享文件夹=> Z:/上传/
使用express,我使用res.senFile将文件返回给浏览器:
var download = config.file_dir + "/" + file;
res.sendFile(download);
下载值为Z:/uploads/737237213791239.pdf
我收到此错误:
throw new TypeError('path must be absolute or specify root to res.sendFile
我是否给出了绝对的路径?
答案 0 :(得分:0)
我遇到了同样的问题。我发现使用正斜杠配置我的文件夹最简单,使用path.join发送。这应该起作用驱动器号或UNC路径。
var path = require("path");
config.file_dir = "z:/folder";
//use forward slashes for UNC if you wish to use that instead ie //server/share
var file = path.join(config.file_dir, urlPath);
res.sendFile(file, (err) => {
if (err) {
res.status(err.status || 500).send();
}
});