2009-05-13 44 views
71

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

+3

私は以下に答えました。誤ったセキュリティによってほとんど不可能になっているエンタープライズWebアプリケーションの一般的な要件です(信頼できるhttpページでファイルリンクを有効にする必要があります)。私はWindows上で広範にしかテストしていません。 –

答えて

85

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

  • リンクが変換されたUNCパス(file://server/share/folder/)であれば、Internet Explorerが動作します。
  • リンクが5つのスラッシュ(file://///server/share/folderのユーザーがdisabled the security restriction on file: links in a page served over HTTPの場合、Firefoxは機能しません。ありがたいことにIEはまた、マングルされたリンクフォームを受け入れます。
  • Opera、Safari、Chromeは、HTTP経由で配信されるページでfile:リンクを開くことはできません。
+4

で動作します。ただし、UNCパスとリンクを含むウェブサイトがイントラネット内でのみ同じドメインにある場合のみです。 –

+4

これはもはや正しいとは思わない - IEの新しいバージョンはChrome/Safari /などのようにこの動作をブロックしているようだ。 – ZeekLTK

+1

私はIE 11でこれを試しましたが、実際にはローカルファイルをダウンロードせずに開くことができます(既存のファイルパスを開いているように)。これはまだクロムには存在しません。 – Hohohodown

4

フォルダのアクセス権がディレクトリのリストが許可されるように、そしてちょうどのchmod 701を使用して、そのフォルダにアンカーを指すように設定されている(つまり、しかし危険なことかもしれない)ことを確認してください

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

は必ずことを確認しますindex.htmlそのディレクトリにインデックスファイルがありません

+0

この回答はうまくいきます。 "ディレクトリリストの許可"部分は非常に重要です。許可されていない場合は有効にできますが、サーバーアプリケーションごとに異なります。 – Travis

4

URL file://[servername]/[sharename]は、ネットワーク上の共有フォルダへのエクスプローラウィンドウを開く必要があります。

+1

はクロムでは機能せず、IEの – Muflix

2

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

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

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

*仮想ディレクトリに対して書き込み許可を許可して、ユーザーがファイルを追加できますが、試行していないことを許可し、ネットワークのアクセス許可がこの設定を上書きすると想定できます。

+0

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

1

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

関連する問題