HTMLリンクがフォルダを開くようにする方法は何ですか


106

アプリケーションのユーザーがWebページ内のリンクをクリックしてフォルダーを開くようにする必要があります。フォルダのパスはネットワーク上にあり、どこからでもアクセスできます。たぶんこれを行う簡単な方法はないと確信していますが、おそらく私は間違っていますか?


4
以下に答えました。これは、誤ったセキュリティによってほぼ不可能になっているエンタープライズWebアプリケーションの一般的な要件です(信頼できるhttpページでファイルリンクを有効にすることは可能であるべきです)。私はWindowsで広範囲にわたってテストしただけです。
アンドリューダフィー

回答:


107

Windowsエクスプローラで共有フォルダを開きますか?file:リンクを使用する必要がありますが、注意事項があります。


4
IEでは、UNCパスとリンクを含むWebサイトが同じドメイン内、つまりイントラネット内のみにある場合のみ。
Stefan Steiger 2013

4
これはもう正しくないと思います-IEの新しいバージョンは、Chrome / Safariなどと同じようにこの動作をブロックしているようです。
ZeekLTK、2014年

1
私はIE 11でこれを試したところ、実際にローカルファイルをダウンロードせずに開くことができます(既存のファイルパスを開く場合と同様)。これはまだクロムには存在しません。
Hohohodown 2015

4
これは、LocalLinks Chrome拡張機能を介してChromeで機能するようにすることができます 。このStackOverflow回答の
ザックジョンソン

@Andrew Duffy、Google Chromeがこの動作をブロックしていると言うドキュメントはありますか?私はこれについてもっと知りたい
です


4

ディレクトリのリストが許可されるようにフォルダのアクセス許可が設定されていることを確認してから、chmod 701を使用してアンカーをそのフォルダにポイントするだけです(ただし、これは危険かもしれません)。

<a href="./downloads/folder_i_want_to_display/" >Go to downloads page</a>

そのディレクトリにindex.htmlインデックスファイルがないことを確認してください


この答えは機能します。「許可されたディレクトリ一覧」の部分は非常に重要です。許可されていない場合は有効にできますが、サーバーアプリケーションごとに異なります。
トラビス

3

セキュリティ設定が中程度のレベルに設定されている場合、file://///を使用しても機能しません。

ユーザーがネットワークまたは共有にあるファイルをダウンロード/表示できるようにしたい場合は、IISで仮想ディレクトリを設定できます。[プロパティ]タブで、[別のコンピューターにある共有]が選択されており、[接続方法]がネットワークの場所を確認できるアカウントであることを確認します。

Webページから仮想ディレクトリにリンクします(例:http:// yoursite / yourvirtualdir /)。これにより、Webブラウザーでディレクトリのビューが開きます。

*仮想ディレクトリへの書き込み権限を許可して、ユーザーがファイルを追加できるようにすることができますが、試行せず、ネットワーク権限がこの設定を上書きすると想定します。


Chromeと新しいバージョンのIEは、ファイル以外のWebページからのローカルfile://リソースへのアクセスをブロックするため、これは今日に関連しています。さらに、IIS Expressで実行するように設定できますが、手動で追加して実行する必要があります。
Schmuli 2014


1

リンクアドレスをコピーして新しいウィンドウに貼り付け、セキュリティを回避することもできます。これはChromeとFirefoxで機能しますが、Firefoxでスラッシュを追加する必要がある場合があります。


1

パーティーには少し遅れましたが、私は最近自分でこれを解決する必要がありましたが、少し異なりますが、それでも私と同じような状況の誰かを助けることができるかもしれません。

私はラップトップでxamppを使用して、純粋にローカルなWebサイトアプリをWindowsで実行しています。(私が知っている非常に特殊な環境)。この例では、phpファイルへのhtmlリンクを使用して実行します。

shell_exec('cd C:\path\to\file');
shell_exec('start .');

ローカルのWindowsエクスプローラーウィンドウが開きます。


1
有望ですが、Firefoxでこれを実行すると、タブがハングします。(私は他のサイトにアクセスできるため、セッションまたは何かを混乱させているようですが、このサイトは-他のタブでもハングアップしているようです!)
Stephen R

Firefoxでテストしたところ、問題なく動作しましたが、開くフォルダーを指定できません。phpファイルのルートディレクトリでのみ開きます。
Lucas Taulealea

0

それがいつか誰かを助けることを願っています。私は小さなPOCを作成していて、これに遭遇しました。ボタンをクリックすると、フォルダの内容が表示されます。以下はHTMLです、

<input type=button onClick="parent.location='file:///C:/Users/' " value='Users'>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.