为了账号安全,请及时绑定邮箱和手机立即绑定

如何强制在浏览器中打开文件而不是下载(PDF)?

如何强制在浏览器中打开文件而不是下载(PDF)?

侃侃无极 2019-06-28 10:18:04
如何强制在浏览器中打开文件而不是下载(PDF)?在未选中“在浏览器中显示PDF”选项时,是否有一种方法强制在浏览器中打开PDF文件?我尝试使用Embedded标记和iframe,但只有在选中该选项时才有效。我能做什么?
查看完整描述

3 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

若要向浏览器指示应在浏览器中查看文件,请执行以下操作:

Content-Type: application/pdf
Content-Disposition: inline; filename="filename.pdf"

下载而不是查看该文件:

Content-Type: application/pdf
Content-Disposition: attachment; filename="filename.pdf"

如果文件名包含特殊字符,如filename[1].pdf否则可能会破坏浏览器处理响应的能力。


查看完整回答
反对 回复 2019-06-28
?
冉冉说

TA贡献1877条经验 获得超1个赞

如果您正在使用HTML 5(我猜现在每个人都使用HTML 5),则有一个名为download.

例如,

<a href="somepathto.pdf" download="filename">

这里filename是可选的,但如果提供,它将为下载的文件取此名称。


查看完整回答
反对 回复 2019-06-28
?
慕容708150

TA贡献1831条经验 获得超4个赞

正确的类型是application/pdf用于PDF,而不是application/force-download..这看起来像是对一些旧浏览器的黑客攻击。如果可以的话,一定要使用正确的米制。

如果您控制服务器代码:

  • 强制下载/提示:使用

    header("Content-Disposition", "attachment; filename=myfilename.myextension");

  • 浏览器尝试打开它:使用

    header("Content-Disposition", "inline; filename=myfilename.myextension");

没有对服务器代码的控制:

注意:我更喜欢在服务器端设置文件名,因为您可能有更多的信息,并且可以使用通用代码。


查看完整回答
反对 回复 2019-06-28
  • 3 回答
  • 0 关注
  • 12245 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信