HTML-调用默认程序打开文件

发布于 2017-10-21 05:31:40 字数 204 浏览 1421 评论 1

我在html中想要实现一个效果。假设文件的路径是“c://email/test.eml”,想要实现用户点击一个连接,就是用系统默认的程序(如foxmail)打开这个文件,本来是使用file协议做的连接,但是一点击,chrome就会下载这个文件,而不是直接打开。所以想问下有什么方法能实现这个效果。或者使用别的语言(python或者别的)也可以,如何调用默认程序打开文件?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归属感 2017-10-23 13:38:08

就我所知,无法实现。

对于浏览器中指向的文件,浏览器支持的可以在浏览器中打开,比如在 Chrome 点击 PDF 文件的下载链接,它有自带 PDF 阅读器功能因此可以下载后在浏览器中打开(在 UI 的呈现上它是“加载”,但实际是先执行“下载”至缓存区,再执行“打开”)。Mp4、H.264、Ogg格式视频,在现代浏览器中则可以实现边加载边播放。

而对于不支持的文件格式,Windows 的 IE 下载窗口上有“打开”选项,但实际也是先执行下载,然后再调用默认程序打开。在 其它浏览器下基本是先执行下载,然后用户使用“主动”方式进行后续操作。

有一些流媒体链接比如电台、电视等,在一些系统中可以直接调用用户电脑上已安装的程序打开;而在移动设备上,有一些文件在点击下载完成后,也会弹出提示窗提示用户是否使用某软件打开。但这些都不是因为网页上有进行什么设置而达到的效果。

网页工程师可以做的,是为链接添加 Content-Disposition HTTP response header 声明,告诉设备/浏览器链接指向的文件是什么类型,以便设备更好地进行识别。但这种做法对您想达到的效果也没多大。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文