Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在浏览器中显示word/pdf二进制数据_Javascript_Angularjs_Playframework - Fatal编程技术网

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

Javascript 如何在浏览器中显示word/pdf二进制数据,javascript,angularjs,playframework,Javascript,Angularjs,Playframework,我有一个web应用程序(用angular编写),用户可以定义一个基本的文档结构,然后单击“预览”,当他这样做时,一个请求被发送到服务器,服务器返回文档的二进制表示形式 我打开了一个新的浏览器窗口,我想在那里显示文档,但我不知道怎么做。文档可以是Word(docx)或PDF格式 以下是响应标题: access-control-allow-headers: "X-Requested-With" access-control-allow-origin: "*" content-disposition:

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

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

以下是响应标题:

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>


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

下载文件时,内容类型应如下所示。 将各自的mimetype设置为其扩展名

    extension and there content/mime Type

    .doc  = application/msword
    .docx = application/vnd.openxmlformats-officedocument.wordprocessingml.document
    .pdf  = application/pdf
提及

然后使用

$window.open('url', '_blank');

这将适用于IE-9+。谢谢

我想如果你不想要可书签的链接或其他限制,你可以将内容加载到angular应用程序中,执行$window.open并使用一些javascript将二进制数据移动到新窗口。我个人从未尝试过。实际上这正是我的问题,我有一个二进制数据,我需要将其转换为可下载的内容,而用户无法将其添加书签。