私は、(簡単には、;好みで))別のファイルサーバー上のファイルへのダウンロードリンクを作成する方法を探しています。ファイルサーバー上のファイルへのダウンロードリンクを作成する
状況は次のとおりです。私が開発しているアプリケーション(vb.netでasp.net 2.0がありますが、C#で同様の問題が発生していますが、いずれのソリューションも私のために働く)は社内で実行されます。 ファイル記憶域とWebアプリケーションは2つの別々のサーバーに置かれていることをお勧めします。
私は基本的に、ファイルにアクセスする必要がある唯一の利用可能なURLは、\ servername \ folder1 \ folder2 \ folder3 \ file.txtです。ファイル)
ウェブリンクは単に動作しません。これは現在設定されている方法です:
tablerowfield.Text = String.Format(
"<a href=""\\servername\folder1\folder2\folder3\{0}""
target=""_blank"">Click me</a>",
filename)
これは明らかな理由から機能しません。以前は、そのファイルをアプリケーションパス自体に書き込むように設定されていましたが、それは完璧に機能しましたが、それは良い方法ではないため、変更する(またはしようとする)のです。
私はダウンロードページを作成してリンクを保持し、ダウンロードするための適切なWeb URLを返すテーブルをDBに置くことについて解決策を読んだが、残念ながら私が直面していた時間制約はそれを開発できない。
上記のようなファイルへの完全なファイルパスを含む文字列を提供できるとすれば、クリックするとドキュメントをダウンロードするリンクを作成する最も簡単な方法は何ですか?
注:この環境では、管理者権限はありません。それは本当に私を助けていない。上記のような正しいリンクが与えられていて、適切なファイルアクセス権などがあると仮定しましょう。
UPDATE:
上記の例では、IEではなく、FirefoxとChromeで作業を行います。 IEはそれをfile:// servername/...リンクに変換しますが、これは想定されていることを行いますが、FFとChromeは両方とも積極的に安全ではないと判断し、ブラウザから無効にしています。
オクラホマのようなあなたのダウンロードボタンのクリックイベントにこのコードを使用することができますが、それは私のエラーをgving続けますResponse.WriteFile。私は "\\ server \ folder \ file.txt"という形式の文字列を入力して取得します。 パス '/server/folder/file.txt'のマッピングに失敗しました。可能なすべてのファイルを試しました。 この問題の経験はありますか? – Flater
すでに述べたように、最初のリンクのfile = abc.txt、file = otherfile.txtなどのパラメータを渡すことができます。したがって、ファイル名を動的に取得し、ASHXファイルに渡します。あなたはクライアント側に存在しないサーバーパスを使用するのではなく、そこから(ドメインに)ダウンロードさせるためにASHXファイルが必要です – wasimbhalli
私の前のポストを無視します。 .Mapathとそれは動作します:)これをファイナライズするにはまだ少し曖昧ですが、あなたは私をひどく助けてくれました!ありがとう! – Flater