强制文件链接在[新]选项卡中作为预览打开(而不是下载)

强制文件链接在[新]选项卡中作为预览打开(而不是下载)

有时,您希望点击 pdf/图片/等链接并在浏览器中实际看到它,而不是下载它。
在我最近的一次经历中,我使用屏幕截图螳螂我正在使用的服务器。

当我点击链接时,它会立即提示我保存文件,没有在浏览器中打开它的选项。
我真的不想下载它,在图像查看器中打开它,然后在完成后记得删除该文件。我希望当我关闭普通图像/pdf 的选项卡时,浏览器可以处理这个问题,就像您单击时一样open [image] in new tab

我知道浏览器为什么这样做,内容是通过 HTTP 标头提供的Content-Disposition:attachment,但我确信一定有一个高级设置、隐藏的上下文菜单选项或很棒的扩展,可以让您查看某人希望您实际保存的内容。

有人知道这样的事吗?


编辑

似乎 Firefox 有一个添加在但是我找不到 Chrome 的端口。

答案1

网站开发者决定文件是否被下载或打开。当然,文件会在浏览器中打开,但如果开发者强制使用下面的 HTML 标头,则始终会被下载。

没有办法强迫。:(

Response.AddHeader("Content-Disposition", "attachment; filename=fileToForceDownload.pdf");
Response.AddHeader("Content-Length", 12345);
Response.ContentType = "application/octet-stream";
Response.BinaryWrite(bytesOfFile);

要在浏览器中打开,开发人员必须声明:

Response.AddHeader("Content-Disposition", "inline; filename=fileToOpen.pdf");
Response.ContentType = "application/pdf";

上面的内容是用 C# 编写的,但其参数对于任何语言站点都是通用的

答案2

正如 Sergio 所说,网站开发人员决定文件是下载还是在浏览器中打开。如果您想查看 PDF 文档,那么我建议启用谷歌文档默认情况下,Chrome 自带的扩展程序。按控制单击图像时,按钮会在新选项卡中打开图像。我希望这对遇到此问题的用户有用。

答案3

修改 Content-Type。它按照我预期的那样工作(尽管响应标头中含有 Content-Disposition: 附件,PNG 仍可在内部查看器中打开),规则如下:

URL Filter:       .*
Original Type:    application/png
Replacement Type: application/png
Disposition:      inline

请注意,这可能会使您面临跨站点脚本漏洞,因此最好不要在 URL 过滤器中允许 .*。仅在需要时添加。

原始答案

答案4

您是否尝试过在 Google 中搜索“在 Chrome 中打开 PDF”?

我有一个运行良好的扩展:

Kami (formerly Notable PDF)
2.0.6344
Document Viewer and Office Tool for your browser

但是,我禁用了它,因为即使没有该扩展程序,PDF 仍会在 Chrome 中打开。

我有:

Office Editing for Docs, Sheets & Slides
109.1486.1491
View and edit Microsoft Word, Excel, and PowerPoint files...

这使得我无需安装 Office(看,没有 Office)即可打开大多数 Office 文件。

希望这可以帮助。

相关内容