我正在Windows PC上运行js节点服务器,但在使用查询字符串在服务器上下载文件时遇到问题。在PC上,我要下载的文件位于C:/ Users / User / Desktop。这是存储JS服务器文件的目录。
我正在尝试使用“ http://10.0.0.171:3000/?action=download&filepath=C:\ Users \ User \ Desktop \ File.txt”将该文件下载到手机上
10.0.0.171是在网络上运行服务器的本地计算机。
我需要更改什么才能将文件路径值传递给代码中的download方法并下载指定的文件?
http.createServer(function (req, res) {
var q = url.parse(req.url, true);
var filename = "." + q.pathname;
fs.readFile(filename, function(err, data) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/html'});
return res.end("404 Not Found");
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
if(q.action == "download"){
app.get('/download', function(req, res){
var file = q.filepath;
res.download(file); // Set disposition and send it.
});
}
if(q.action == "rename"){
fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
if (err) throw err;
console.log('File Renamed!');
});
}
if(q.action == "delete"){
fs.unlink('mynewfile2.txt', function (err) {
if (err) throw err;
console.log('File deleted!');
});
}
if(q.action == "copy"){
fs.copyFile('source.txt', 'destination.txt', (err) => {
if (err) throw err;
console.log('source.txt was copied to destination.txt');
});
}
}).listen(3000, "10.0.0.171");