Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 从超链接打开文件_Html_Hyperlink - Fatal编程技术网

Html 从超链接打开文件

Html 从超链接打开文件,html,hyperlink,Html,Hyperlink,有没有一种方法可以在文件服务器上提供指向文件的超链接,而不是下载文件,而是在应用程序中打开它?例如,服务器上有一个.doc文件,但不是下载该文件,而是在word中打开该文件,以便用户可以直接编辑该文件,而不是下载副本 我试过使用file:///// 但这似乎只是下载文件。不,你不能这么做。用户总是会被提示保存或打开文件您的问题中有许多误解: 如何处理特定类型的文件取决于浏览器 用户不能直接在服务器上执行任何操作;如果有的话,服务器将提供文件的副本,并接受修改后的版本进行替换。这需要两者之间的协

有没有一种方法可以在文件服务器上提供指向文件的超链接,而不是下载文件,而是在应用程序中打开它?例如,服务器上有一个.doc文件,但不是下载该文件,而是在word中打开该文件,以便用户可以直接编辑该文件,而不是下载副本


我试过使用file:///// 但这似乎只是下载文件。

不,你不能这么做。用户总是会被提示保存或打开文件

您的问题中有许多误解:

  • 如何处理特定类型的文件取决于浏览器
  • 用户不能直接在服务器上执行任何操作;如果有的话,服务器将提供文件的副本,并接受修改后的版本进行替换。这需要两者之间的协调
  • 文件://
    用于识别本地计算机上的文件

您可以强制响应下载标题,但这需要服务器端操作,并且您仍然无法强制打开-这取决于最终用户及其浏览器,您无法更改


如果您同时开发应用程序的两个方面(Web服务器端和客户端应用程序),则可以使用特定于应用程序的URI,并在客户端向操作系统注册这些URI。这就是像Spotify这样的应用程序所做的——它们链接到一个URI,如
spotify://song.info.here
,如果安装了Spotify,浏览器会自动切换到应用程序。

这取决于几个完全超出您控制范围的因素。如果在服务器上正确设置了MIME类型,并且客户端有一个与该MIME关联的应用程序,并且该应用程序的默认功能和/或浏览器设置为在该应用程序中打开,则该应用程序将按照您希望的方式工作。#1,每个用户的浏览器必须配置为允许从浏览器启动外部程序。许多浏览器在默认情况下禁用了此功能(尤其是在公司内部),因为无法保证打开的程序不是恶意的#2如果允许,JavaScript是关键。