Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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 链接到web应用程序中的本地内容_Html_Internet Explorer_File_Hyperlink - Fatal编程技术网

Html 链接到web应用程序中的本地内容

Html 链接到web应用程序中的本地内容,html,internet-explorer,file,hyperlink,Html,Internet Explorer,File,Hyperlink,我正在开发一个旧应用程序的替换应用程序。由于遗留应用程序的某些设计限制,“附件”在数据库中存储为字符串路径(通常是存储在windows共享驱动器上的文件)。然后,遗留应用程序可以通过打开windows命令shell并执行给定路径来“打开”附件 遗留(Oracle Forms)应用程序正在被基于JSF的J2EE web应用程序淘汰。新应用程序需要能够以某种方式“打开”或链接到这些旧附件。这可能吗?我曾尝试使用file://url,但在使用它们时有很多注意事项。它们只在IE中的远程主机上工作,fir

我正在开发一个旧应用程序的替换应用程序。由于遗留应用程序的某些设计限制,“附件”在数据库中存储为字符串路径(通常是存储在windows共享驱动器上的文件)。然后,遗留应用程序可以通过打开windows命令shell并执行给定路径来“打开”附件

遗留(Oracle Forms)应用程序正在被基于JSF的J2EE web应用程序淘汰。新应用程序需要能够以某种方式“打开”或链接到这些旧附件。这可能吗?我曾尝试使用file://url,但在使用它们时有很多注意事项。它们只在IE中的远程主机上工作,firefox/chrome(以及我认为的其他现代浏览器)阻止本地文件URL

仅在IE上工作是这个特定功能的一个特点。我还遇到了一个带有空格的文件路径问题。出于某种原因,如果IE遇到一个带有空格的文件路径,比如

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文件中,我也无法实现这一点。也许我缺少一些特殊的字符转义?