从REST响应中读取二进制数据

时间:2015-09-14 13:51:26

标签: javascript rest

我有REST服务端点服务二进制数据(例如PDF,JPG,PNG等文件) 使用基于令牌的身份验证来保护REST服务。 如果没有安全性,我可以简单地获取PNG并使用

在新窗口中打开它

<a href="RESTURL/item/1/file" target="_blank">

但是现在,在我们实施安全性后,我收到“授权错误”,因为我必须通过“授权”标题传递“Bearer TOKEN”......

我想到了2个解决方案(我对二进制数据,图像等有零经验):

1.(天真)使用现有端点下载二进制数据并打开它:

let uriContent = "data:image/jpg," + result; window.open(uriContent);

其中result是REST服务返回二进制数据的响应。

不起作用 - 我在打开的窗口中得到乱码

  1. (不可能立即尝试)更改REST服务以返回Base64并使用以下命令打开它:
  2. let uriContent = "data:image/jpg;base64," + result; window.open(uriContent);

    1. 任何其他解决方案??? - 我需要能够使用PNG / PDF等打开新标签页并将其下载到磁盘

0 个答案:

没有答案