如何在单独的浏览器选项卡中显示Node .get()响应?

时间:2018-02-05 23:51:15

标签: javascript node.js pdf

Node JS应用程序组件对响应主体中响应(res)包含PDF文件的服务器进行以下调用。

this.$http.get('/resource/download/' + file.id)
  .then((res) => {
    console.log('back w/ PDF');
  }
);

我可以在响应正文中查看PDF数据,并将其与下载相同的PDF进行比较,看起来是正确的。

如何在浏览器的新标签页中显示响应,以便用户可以查看PDF?

编辑:

" res"来自$ http.get()调用的参数返回参数不是URL,而是来自服务器上的Node JS应用程序的响应对象。在响应对象中,.data属性包含PDF。如果将其写入文件,则为PDF文件。

应用程序与Google Drive API接口,当用户点击我们网站上的文件名时,我们将获取PDF内容。我们无法直接在Google云端硬盘上提供PDF链接,因为这需要用户拥有对Google云端硬盘的共享访问权限才能查看PDF文件。

有没有办法将PDF数据放在单独的浏览器标签中,甚至可以将其嵌入到iFrame中?

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情

// Scenario B: In two processes

// in first process
try (FileChannel fc = FileChannel.open(filePath, openOptions)) {
   // First call in first process
   fc.map(MapMode.READ_WRITE, 0, SIZE_CONSTANT);
}
...
// in second process
try (FileChannel fc = FileChannel.open(filePath, openOptions)) {
   // Second call in second process
   fc.map(MapMode.READ_ONLY, 0, SIZE_CONSTANT);
}

希望有所帮助