使用fs.readFile从外部URL获取文件

时间:2016-07-09 18:04:38

标签: node.js express

我在页面上有链接,点击后我想要打开外部docx文件。不幸的是,fs.readFile只读取本地路径。

我试过

app.get('/getfile', function (req, res) {
   var externalURL = 'http://www.examplesite.com/example.docx';
   // var externalURL = req.query.external;
   fs.readFile(externalURL, function(err, data) {
      var fileData = new Buffer(data).toString('base64');
      res.send(fileData);
   });
});

3 个答案:

答案 0 :(得分:11)

试试这个:

const http = require("http");
const file = fs.createWriteStream("file.docx");

http.get("http://www.example.com/test.docx", response => {
  response.pipe(file);
});

答案 1 :(得分:0)

尝试node-fetch。 它遵循提取命令(MDN)的常规客户端语法。

答案 2 :(得分:0)

我建议使用 request 来完成。

我不知道你是这个意思...

尝试:

if (snapshot.hasData) {