【发布时间】:2015-08-30 18:13:34
【问题描述】:
我正在尝试使用 node.js 下载文件,这是我的代码:
var file_url = req.body.filename;
var DOWNLOAD_DIR = './downloads/';
var options = {
host: url.parse(file_url).host,
port: 80,
path: url.parse(file_url).pathname
};
var file_name = url.parse(file_url).pathname.split('/').pop();
var file = fs.createWriteStream(DOWNLOAD_DIR + file_name);
http.get(options, function (resp) {
resp.on('data', function (data) {
file.write(data);
}).on('end', function () {
file.end();
console.log(file_name + ' downloaded to ' + DOWNLOAD_DIR);
delet(file_url);
});
});
这里我手动给 DOWNLOAD_DIR,所以它正在下载到那个
目录,因为它是本地主机不是问题,但是当我上传这个时
代码到服务器然后文件应该被下载到那个特定的
用户的机器,那么如何动态地给 DOWNLOAD_DIR 变量路径
【问题讨论】:
-
您无法控制用户喜欢下载文件的路径。您在服务器上创建 writestream,当然它在本地工作。但用户使用浏览器设置设置路径(例如在 Chrome 中:设置-下载的文件)。