Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 在浏览器中打开文件而不是下载(包括.doc、.xls等文件)_Javascript_Java_Jquery - Fatal编程技术网

Javascript 在浏览器中打开文件而不是下载(包括.doc、.xls等文件)

Javascript 在浏览器中打开文件而不是下载(包括.doc、.xls等文件),javascript,java,jquery,Javascript,Java,Jquery,我正在使用JavaRESTAPI上传项目中的文件。根据配置,我的文件要么进入s3存储桶、google驱动器、一个驱动器,甚至进入本地文件系统(在运行我的应用程序的同一台机器上)。在再次下载期间,我进行了一个ajax调用,该调用返回带有内容处理头附件的文件作为响应和浏览器下载文件,而不考虑其格式。我想在浏览器中查看这些文件,而不是直接下载。我该怎么做?(特别是doc、xls等格式)据我所知,目前还没有可以在浏览器中打开.doc、.docs、.xls的客户端库。使用浏览器渲染文件的一种方法是通过使用

我正在使用JavaRESTAPI上传项目中的文件。根据配置,我的文件要么进入s3存储桶、google驱动器、一个驱动器,甚至进入本地文件系统(在运行我的应用程序的同一台机器上)。在再次下载期间,我进行了一个ajax调用,该调用返回带有内容处理头附件的文件作为响应和浏览器下载文件,而不考虑其格式。我想在浏览器中查看这些文件,而不是直接下载。我该怎么做?(特别是doc、xls等格式)

据我所知,目前还没有可以在浏览器中打开.doc、.docs、.xls的客户端库。使用浏览器渲染文件的一种方法是通过
使用谷歌文档查看器Microsoft Office 365查看器。在
中使用此选项,您可以在浏览器中打开文件,但不能进行编辑

谷歌文档查看器内部

<iframe src="http://docs.google.com/gview?url=http://example.com/path/to/your/document.doc&embedded=true"></iframe>
<a href="http://docs.google.com/gview?url=http://example.com/path/to/your/document.doc&embedded=true">Open your doc file</a>
<iframe src='https://view.officeapps.live.com/op/embed.aspx?src=http://example.com/path/to/your/document.doc' width='1366px' height='623px' frameborder='0'></iframe>

谷歌文档查看器可点击链接

Microsoft Office 365查看器

<iframe src="http://docs.google.com/gview?url=http://example.com/path/to/your/document.doc&embedded=true"></iframe>
<a href="http://docs.google.com/gview?url=http://example.com/path/to/your/document.doc&embedded=true">Open your doc file</a>
<iframe src='https://view.officeapps.live.com/op/embed.aspx?src=http://example.com/path/to/your/document.doc' width='1366px' height='623px' frameborder='0'></iframe>

浏览器没有任何内置的方式来查看Word文档,因此,除非用户已将浏览器配置为使用某个插件打开文档(世界上99%的人都没有这样做),否则浏览器将提示他们下载该文件

但是,如果您只需要显示Word文档,而不需要编辑它,则可以通过使用Google Documents的查看器来显示远程托管的.doc/.docx

<iframe src="http://docs.google.com/gview?url=http://url-of-the-file&embedded=true"></iframe>

您可以通过保持s3文档的私有性来为其生成


如果您有兴趣授予用户在线编辑权限,那么您可以使用任何工具,如

尝试删除
内容处置
标题,或将其设置为
内联
…这样它适用于pdf文件,我主要关心的是显示其他格式,如doc或xls文件,如果它是
内联
(这是默认设置)浏览器下载该文件,并要求操作系统打开它,除非浏览器内置了针对该文件MIME类型的特殊处理。(如PDF。)因此,下载文件的情况取决于客户端浏览器和操作系统设置、安装的程序等。Jerry,我使用的所有浏览器都无法直接打开文件,如
doc
。浏览器通常打开
html
css
和许多图像文件。他们还倾向于轻松地打开任何类型的纯文本文件,因为这就是
html
css
文件。许多现代浏览器现在也打开
pdf
(本机或通过插件)。另一方面,像
doc
这样的专有二进制文件?我不这么认为。有没有一些插件我也可以用呢?我得到的一个建议是使用。但是为了让它工作,当我给我的rest url不工作时,我需要给文件提供公共访问权限(我用私有访问权限将文件保存在s3中)。我给出的url是一个GET请求,当直接在浏览器中打开时,如果用户会话在我的应用程序中处于活动状态,则该请求将下载文件。我们面临的问题是,已签名的url无法与MS Office 365 viewer一起使用。见: