カスタムプロトコルを使用してブラウザ経由でローカルファイルを開く際に、いくつかの実際の問題が発生しています。カスタムプロトコルを使用する前に、このWebアプリは閉じたイントラネット環境で動作するため、すべてのユーザーにこれらのプロトコルを追加するための完全な制御が可能です。アプリは現時点では正常に動作しますが、「煩わしい」「時間がかかる」ため、ファイルの[開く/保存]ダイアログをバイパスするように要求されました(ええ、私は知っています...私はそれらに伝えようとしました)。私は未知の領域にいます!
次に、機能しない例を示します(この例では、メモ帳を使用して、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
説明するように、リンクをさまざまな形式で表現しようとしましたが、機能させることができません。
私が間違っているアイデアはありますか?