Javascript Express.js有一个启动下载的按钮
我在玩express,但在让html表单提交查询时遇到了麻烦 我有这段代码,它应该提供一个随机图像和一个下载它的按钮Javascript Express.js有一个启动下载的按钮,javascript,node.js,express,Javascript,Node.js,Express,我在玩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
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);
});
尝试使用app.get(“*”)而不是app.get(“/”)并请使用templatesreturnRandomImagePath()只返回一个带有图像文件名的字符串,如image1.jpg。我想通过查询发送此消息,以在/download中间件中生成文件名。您可以记录
src
?另外,您能否为我们提供returnRandomImagePath
code?为returnRandomImagePath()
添加了代码。src日志为undefined
,req.query日志为{}
。作为旁注,returnRandomImagePath
可以这样分解:返回图像[Math.floor(Math.random()*images.length)]因为min
是0,而max
等于images.length-1-0+1
,所以基本上images.length
。表单
中的url是否在您的浏览器中格式良好?我认为这与问题无关,因为OP可以访问他的页面。
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]);
}