2017-06-06 25 views
1

私のアプリでは、ローカルマシン上のファイルのリストを表示しています(パスはDBから取得されます)。ファイルをクリックすると、そのファイルを開く必要があります。私は成功なしで以下を試した:Angular 2 app - ローカルファイルへのリンク

<a href="file:///c:/path/to/file">FileName</a> 

上記のリンクをクリックすると、何も起こりません。クロムを使用している場合、私は、コンソールに次のエラーメッセージを見ることができます(Firefoxの上で何のメッセージはありません):ローカルリソース

をロードすることはできません

私はthis質問を読んで、それを理解しています:

Mozillaブラウザは、HTTPプロトコルを使用して取得したページのファイルURLに従うことを拒否します。

また、この機能は他のブラウザでも実装されていました。

提示されたファイルは、サーバーにはなくローカルマシン上にあります。だから私は相対的なリンクを使用することはできません(そうですか?)。とにかくこれを回避し、ローカルファイルを開くリンクを作成するには?

答えて

2

セキュリティ上問題があるため、httpで配信されているWebサイトからローカルリソースにアクセスすることはできません。あなたのマシンに何らかのウェブサイトがアクセスできれば、何が起こるか考えてみてください。ドメインとは異なるドメインのデータを処理するためのセキュリティ制限があります。

ローカルファイルにアクセスして正確に何を達成しようとしていますか?その理由をさらに詳しく知ることで、より有用な提案を得ることができます。それ以外の場合は、これを行うことはできません。

+0

私はデモ用のウェブアプリケーションに取り組んでいます。デモ用のウェブアプリケーションには、ファイルのリストを表示し、そのファイルのいずれかをクリックして読み込む機能があります。実際には、ファイルはサーバマシンに置かれます。デモではクライアントマシン(localhost)になります。デモでは、悪いコードを書いて後で書き直すことを意味していても、速く作業する必要があります。あなたの答えから、私の唯一の選択肢は、サーバー側からファイルをロードすることです(現在は存在しません)。 –

関連する問題