存在一个动态创建文件(zip)以供下载的URL。 http://example.com/generateZipFile.php
在浏览器中,打开网址只会打开下载对话框,用户可以将文件保存到硬盘中。
我需要使用node.js
自动下载此文件我尝试过以下代码:
var file = fs.createWriteStream("http://example.com/generateZip.php");
var request = http.get(URL, function(response) {
response.pipe(file);
});
然而,它只会将看似HTML重定向页面的内容下载到zip文件的当前咒语,而不是zip文件本身:
> <head><title>Document Moved</title></head> <body><h1>Object
> Moved</h1>This document may be found <a
> HREF="http://example.com/generated12345.zip">here</a></body>
我无法对生成的zip文件名进行硬编码,因为它可能会发生变化。
答案 0 :(得分:1)
http
模块不支持查询重定向。您可以使用request
模块:
require('request')
.get('http://example.com/generateZip.php')
.on('error', function(error) {
console.log(error)
})
.pipe(require('fs').createWriteStream(__dirname + '/tmp.file'))