我正在使用express,但我无法获取html表单来提交查询。
我有这段代码应该提供一个随机图像和一个应该下载它的按钮。
app.get('/download', function(req, res, next){
src = req.query.src;
console.log(req.query);
res.download('/images/' + src);
});
app.get('/', function(req, res, next){
res.body = "<h1>Random art: </h1><br />";
res.body = res.body + "<img src='";
image = returnRandomImagePath();
res.body = res.body + image;
res.body = res.body + "' height = '300' width = '300' />";
res.body = res.body + "<form action = '/download?src=" + image + "' method = 'GET'>";
res.body = res.body + "<input type = 'submit' value = 'Download' />";
res.body = res.body + "</form>";
res.body = res.body + "<br />";
res.send(res.body);
});
但是当我点击页面上的按钮时,我得到了
错误:ENOENT:没有这样的文件或目录,stat&#39; / images / [object Object]&#39; 在错误(本机)&#34;
并且控制台记录req.query为空。
编辑:returnRandomImagePath()的代码:
const images = ["image1.jpg",
"image2.jpg",
"image3.jpg",
"image4.jpg",
"image5.jpg",
"image6.jpg",
"image7.jpg",
"image8.jpg",
"image9.jpg"];
function returnRandomImagePath() {
min = Math.ceil(0);
max = Math.floor(images.length-1);
number = Math.floor(Math.random() * (max-min+1)) + min;
return(images[number]);
}
答案 0 :(得分:-1)
尝试使用app.get(&#39; *&#39;)代替app.get(&#39; /&#39;)