Html 链接到web应用程序中的本地内容
我正在开发一个旧应用程序的替换应用程序。由于遗留应用程序的某些设计限制,“附件”在数据库中存储为字符串路径(通常是存储在windows共享驱动器上的文件)。然后,遗留应用程序可以通过打开windows命令shell并执行给定路径来“打开”附件 遗留(Oracle Forms)应用程序正在被基于JSF的J2EE web应用程序淘汰。新应用程序需要能够以某种方式“打开”或链接到这些旧附件。这可能吗?我曾尝试使用file://url,但在使用它们时有很多注意事项。它们只在IE中的远程主机上工作,firefox/chrome(以及我认为的其他现代浏览器)阻止本地文件URL 仅在IE上工作是这个特定功能的一个特点。我还遇到了一个带有空格的文件路径问题。出于某种原因,如果IE遇到一个带有空格的文件路径,比如Html 链接到web应用程序中的本地内容,html,internet-explorer,file,hyperlink,Html,Internet Explorer,File,Hyperlink,我正在开发一个旧应用程序的替换应用程序。由于遗留应用程序的某些设计限制,“附件”在数据库中存储为字符串路径(通常是存储在windows共享驱动器上的文件)。然后,遗留应用程序可以通过打开windows命令shell并执行给定路径来“打开”附件 遗留(Oracle Forms)应用程序正在被基于JSF的J2EE web应用程序淘汰。新应用程序需要能够以某种方式“打开”或链接到这些旧附件。这可能吗?我曾尝试使用file://url,但在使用它们时有很多注意事项。它们只在IE中的远程主机上工作,fir
C:\Documents and Settings\user123\My Documents\testing\someFile.txt
它拒绝打开这个链接。浏览器会自动将空格(“”)替换为其URL编码的“%20”
我正在尝试的关联链接如下所示:
<a href="file:///C:\Documents and Settings\user123\My Documents\testing\someFile.txt">link</a>
有没有什么简单的东西我遗漏了?或者有没有更简单的方法
我不太确定如何标记此文件,以便根据需要随时重新标记。如果在文件路径周围使用双引号(“
)(您可能需要将其URL编码为%22
),windows将可以使用完整路径:
<a href="file:///%22C:\Documents and Settings\user123\My Documents\testing\someFile.txt%22">link</a>
经过大量测试,我得出以下结论:
- 只有IE才会打开来自远程主机的页面上的file://链接,其他浏览器会完全阻止它们,当用户单击它们时,不会发生任何事情
- IE将只打开指向驻留在网络驱动器上的文件的file://URL
- 如果用户单击指向用户本地驱动器上文件的file://链接,则不会发生任何事情,也不会出现错误
- 如果用户单击指向网络文件的file://链接,它将在浏览器中打开(如果可能)
- 如果文件://url指向无效位置(未映射的网络驱动器、网络驱动器上不存在的文件),Windows将显示弹出错误
- 文件路径中的空格需要用%20进行URL编码
希望这能帮助其他人找到有关文件URL的信息。即使是在指向另一个本地文件的简单本地html文件中,我也无法实现这一点。也许我缺少一些特殊的字符转义?