我在使用自定义协议通过浏览器打开本地文件时遇到了一些实际问题。现在,在您为自定义协议开枪之前,此 Web 应用程序将在封闭的 Intranet 环境中运行,因此我可以完全控制为所有用户添加这些协议。该应用程序目前运行良好,但我被要求绕过文件的打开/保存对话框,因为它“烦人”和“耗时”(是的,我知道......我试图告诉他们),所以在这里我在未知领域!
这是一个不起作用的示例(我在此示例中使用记事本在带有 IIS7 的 Server 2008 R2 中对其进行测试):
使用关于将应用程序注册到 URL 协议的信息,我已将以下内容添加到注册表中:
HKEY_CLASSES_ROOT
opentxt
(Default) = "URL:opentxt Protocol"
URL Protocol = ""
DefaultIcon
(Default) = "C:\Windows\System32\notepad.exe,1"
shell
open
command
(Default) = "C:\Windows\System32\notepad.exe" "%1"
所以现在,理论上,它应该像在我的 html 中包含以下链接一样简单
<a href="opentxt://localhost/openme.txt">Open File</a>
它几乎可以工作 - 单击链接,它会立即打开记事本,但是我在记事本中遇到了这个错误。
The filename, directory name, or volume label syntax is incorrect
该文件肯定存在于该位置(我可以使用 读取它http: //localhost/openme.txt
),并且我尝试以多种不同格式表示链接,例如此处所述,但无法使其正常工作。
有什么想法我哪里出错了吗?