javascript - 如何在浏览器中显示word/pdf二进制数据

标签 javascript angularjs playframework

我有一个 Web 应用程序(用 Angular 编写),用户可以在其中定义基本文档结构,然后单击“预览”,当他这样做时,会将请求发送到服务器,服务器返回文档的二进制表示形式。

我打开一个新的浏览器窗口,我想在那里显示文档,但我不知道该怎么做。该文档可以是 Word (docx) 或 PDF 格式。

以下是响应 header :

access-control-allow-headers: "X-Requested-With"
access-control-allow-origin: "*"
content-disposition: "attachment; filename=5/Test_Opportunity-my_quote-1-Feb-2015-13-16-42.docx"
content-length: "1105470"
content-security-policy: "default-src 'self';img-src data: 'self'  https://*.rackcdn.com https://cdn.jsdelivr.net; script-src https://cdnjs.cloudflare.com https://code.jquery.com https://cdn.jsdelivr.net https://*.rackcdn.com 'unsafe-eval' https: 'unsafe-inline' 'self' ;style-src 'unsafe-inline' 'self' https://cdn.jsdelivr.net https://*.rackcdn.com  https://*.googleapis.com;font-src 'self' https://fonts.gstatic.com"
content-type: "application/x-download"
x-content-type-options: "nosniff"
x-frame-options: "DENY"
x-permitted-cross-domain-policies: "master-only"
x-xss-protection: "1; mode=block"

最佳答案

如果您只是在其自己的新窗口中显示原始文档,则该窗口的位置应位于返回二进制文档的 URL 路径。像这样的东西:

<a href="...preview_request_to_server_url..." target="_blank">Preview</a>

您想要打开一个新窗口,并让该新窗口实际请求预览。

关于javascript - 如何在浏览器中显示word/pdf二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28263334/

相关文章:

javascript - 在 Outlook 中注册 Office.EventType.RecipientChanged 处理程序的正确方法是什么?

javascript - AngularJS - 登录并关闭选项卡后,它不会重定向到主页

javascript - 通过 ng-repeat 循环中其他数组的包含来过滤数组

playframework - 从生产环境中的Play框架中的公用文件夹读取文件

c# - 服务器发送 dateTime 对象,客户端应将其打印到 UI

javascript - 带有传单和杂食动物的 csv 聚类标记

javascript - 如何使用 jQuery 更改 <span> 标记 </span> 之间的值?

c# - $http.delete 服务器请求不工作

java - 迁移 Play ! Framework 1.2.3 应用程序 Controller 到 2.0

scala - 暂时禁用 Play Framework 中的缓存