【发布时间】:2018-01-22 18:38:17
【问题描述】:
我是 nodejs 的新手。 我想使用 nodejs 创建一个 Web 服务器,它将托管一些静态文件。为此,我设法做到了 -
var http = require('http');
var finalhandler = require('finalhandler');
var serveStatic = require('serve-static');
var serve = serveStatic("./");
var server = http.createServer(function(req, res) {
var done = finalhandler(req, res);
serve(req, res, done);
});
server.listen(8080);
我有一个测试文件,比如 hostedFile.zip 。
当我点击 url,http://localhost:8080/hostedFile.zip,这个文件被下载。
现在我想向网页添加按钮并在按钮单击时下载相同的文件。
我尝试过的是 -
var http = require('http');
var finalhandler = require('finalhandler');
var serveStatic = require('serve-static');
var serve = serveStatic("./");
var server = http.createServer(function(req, res) {
var done = finalhandler(req, res);
res.end('<p><a href="/hostedFile.zip">Download</a></p>\n');
serve(req, res, done);
});
server.listen(8080);
但它不起作用。有什么(概念)是我遗漏的吗?
【问题讨论】:
-
具体是什么不起作用?你有错误吗?有没有意外发生?
-
它只是导航到页面 - 'localhost:8080/hostedFile.zip',但不下载 zip 文件。
-
@user7866584 你的问题得到答案了吗?我面临同样的问题。当我尝试通过按钮下载时..它不起作用/下载..但是当我点击 url 时,它会下载文件。
标签: javascript node.js http webserver