HTML-调用默认程序打开文件
我在html中想要实现一个效果。假设文件的路径是“c://email/test.eml”,想要实现用户点击一个连接,就是用系统默认的程序(如foxmail)打开这个文件,本来是使用file协议做的连接,但是一点击,chrome就会下载这个文件,而不是直接打开。所以想问下有什么方法能实现这个效果。或者使用别的语言(python或者别的)也可以,如何调用默认程序打开文件?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
就我所知,无法实现。
对于浏览器中指向的文件,浏览器支持的可以在浏览器中打开,比如在 Chrome 点击 PDF 文件的下载链接,它有自带 PDF 阅读器功能因此可以下载后在浏览器中打开(在 UI 的呈现上它是“加载”,但实际是先执行“下载”至缓存区,再执行“打开”)。Mp4、H.264、Ogg格式视频,在现代浏览器中则可以实现边加载边播放。
而对于不支持的文件格式,Windows 的 IE 下载窗口上有“打开”选项,但实际也是先执行下载,然后再调用默认程序打开。在 其它浏览器下基本是先执行下载,然后用户使用“主动”方式进行后续操作。
有一些流媒体链接比如电台、电视等,在一些系统中可以直接调用用户电脑上已安装的程序打开;而在移动设备上,有一些文件在点击下载完成后,也会弹出提示窗提示用户是否使用某软件打开。但这些都不是因为网页上有进行什么设置而达到的效果。
网页工程师可以做的,是为链接添加 Content-Disposition HTTP response header 声明,告诉设备/浏览器链接指向的文件是什么类型,以便设备更好地进行识别。但这种做法对您想达到的效果也没多大。