从超链接打开文件
Opening a file from a hyperlink
有没有办法提供指向文件服务器上文件的超链接,而不是下载它,而是在应用程序中打开它?例如服务器上的 .doc 文件,而不是下载该文件,然后它会在 word 中打开,以便用户可以直接编辑文件而不是下载副本?
我试过使用 file:///// 但似乎只能下载文件。
没有。你不能那样做。系统将始终提示用户 保存 或 打开 文件
你的问题有很多误解:
- 如何处理特定类型的文件取决于浏览器
- 用户不能直接在服务器上做任何事情;如果有的话,服务器将提供文件的副本,并接受修改后的版本进行替换。这需要两者之间的协调。
file://
用于识别本地计算机上的文件
您可以使用 Content-Disposition header 强制响应下载,但这需要服务器端执行,您仍然无法强制打开 - 这取决于 end-user 和他们的浏览器,您无法更改它。
如果您正在开发应用程序的两端(网络服务器端和 client-side 应用程序),您可以使用特定于应用程序的 URI,并在客户端向操作系统注册这些 URI。这就是像 Spotify 这样的应用程序所做的——它们 link 到像 spotify://song.info.here
这样的 URI,如果安装了 Spotify,浏览器就会交给应用程序。
有没有办法提供指向文件服务器上文件的超链接,而不是下载它,而是在应用程序中打开它?例如服务器上的 .doc 文件,而不是下载该文件,然后它会在 word 中打开,以便用户可以直接编辑文件而不是下载副本?
我试过使用 file:///// 但似乎只能下载文件。
没有。你不能那样做。系统将始终提示用户 保存 或 打开 文件
你的问题有很多误解:
- 如何处理特定类型的文件取决于浏览器
- 用户不能直接在服务器上做任何事情;如果有的话,服务器将提供文件的副本,并接受修改后的版本进行替换。这需要两者之间的协调。
file://
用于识别本地计算机上的文件
您可以使用 Content-Disposition header 强制响应下载,但这需要服务器端执行,您仍然无法强制打开 - 这取决于 end-user 和他们的浏览器,您无法更改它。
如果您正在开发应用程序的两端(网络服务器端和 client-side 应用程序),您可以使用特定于应用程序的 URI,并在客户端向操作系统注册这些 URI。这就是像 Spotify 这样的应用程序所做的——它们 link 到像 spotify://song.info.here
这样的 URI,如果安装了 Spotify,浏览器就会交给应用程序。