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

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

甜柠檬 发布于 2017-10-21 字数 341 浏览 1294 回复 1

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

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

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

评论(1

归属感 2017-10-23 1 楼

就我所知,无法实现。

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

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

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

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