用于其他Download API的节点包装器API

时间:2017-04-18 11:08:35

标签: node.js api express download

我正在尝试为不同的API编写一个包装器API,它将文件名作为输入并下载文件。

原始api是 https://test.com/?filename=abc.pdf

我想为这个上面的API编写一个包装器,但这似乎不起作用,它只打印一些我无法读取但不发送文件的数据。

  var options = {
    "method": "GET",
    "hostname": test.com,
    "port": 443,
    "path": "/?filename=" +fileName,
    "rejectUnauthorized": false,
  }

apiHelper.makeRequest(https, options, false, function(responseObject){
    if(responseObject.error){
      downloadBackupCallback(null, responseObject.error);
    }
    else{
      downloadBackupCallback(responseObject.data, null);
    }
  })

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

听起来你是在逐字逐句地通过API的响应体,而不是设置正确的请求标题。

从浏览器访问包装器脚本时,会产生尝试呈现请求响应的结果,就像它是HTML一样。当这种情况发生在PDF文件中时,它看起来很像垃圾。

确保在发回回复时设置正确的HTTP标头,如果可能,请从正在包装的API提供的标头中获取这些标头。

我建议您至少需要You are 28 years, 1 months, and 27 days old. (10282 days total) There are 10 months, and 4 days until your next birthday. (310 total) your birthday is : 1989-02-19 your birthday is : 1989-02-19 your birthday is : 1989-02-19 your birthday is : 1989-02-19 your birthday is : 1989-02-22 Content-Disposition。理想情况下,使用基于流的解决方案来传递响应,这样,如果文件特别大,您就不会在本地缓存大量数据。