2016-10-28 17 views
-1

を使用して、Webサーバーに保存された単語、Excel、またはテキスト文書を開く方法Asp.netとc#を使用している私の会社のチケットシステムで作業しています。ユーザーはチケットを作成し、少数の文書を添付することができます(主に単語やExcel文書)。専用の場所(例:C:\添付ファイル)にWebサーバーのドキュメントをアップロードして保存します。asp.netとc#

ユーザーが以前に作成したチケットを開くと、添付ファイルのリストがリンクボタンとしてGridviewに表示されます。リンクボタンをクリックして添付ファイルを開くことができます。開発中のローカルマシンでこれを達成しましたが、IISサーバーにWebアプリケーションを公開すると、Webサーバー内に保存されているファイルを開く方法がわかりません。ファイルのパスを指定するにはどうすればよいですか?最初にクライアントマシンでファイルをダウンロードしてから開きますか?どんな助けも大歓迎です。あなたが希望する結果を得るためにあなたのアプローチを変更する必要が

protected void OpenAttachment(object sender, EventArgs e) 
{ 
    string FileName; 
    FileName = @"C:\Attachments\Test.docx"; 
    Process.Start(FileName);   
} 
+1

'Process.Start'はウェブサイトが稼動しているマシン、すなわちWebサーバー上でファイルを開きます。 http://stackoverflow.com/questions/37650/how-to-implement-a-file-download-in-asp-net –

+1

一般に、ユーザーのファイルを「開く」ことはありません。ブラウザに表示できる形式(テキストファイルやPDFなど)でも、適切なコンテンツタイプを設定し、ファイルのバイトをHTTPレスポンスに書き込むことで、ダウンロードするユーザーに提供できるすべてのファイルがあります。ユーザーは、互換性のあるプログラムを使用してファイルを開くことができます。 – mason

+0

あなたの答えをありがとう。あなたは私を正しい方向に導いた。 –

答えて

1

は、これは私が(リンクボタンのOnClickイベントである)開発の添付ファイルを開く方法です。

現在、Webサーバー上に新しいプロセスを作成します(Process.Start)。したがって、クライアントとサーバーが同じコンピューター上にあるため、開発環境でこのプロセスが表示されます。

ブラウザでファイルを開くには、まずダウンロードする必要があります。適切なコンテンツタイプを追加することで、ブラウザはダウンロードしたファイルの処理方法を決定できます。

利用可能なチュートリアルがたくさんあります。開始点はこの関連するStackOverflowの質問です:How to implement a file download in asp.net

+0

ありがとうございました。あなたは私を正しい方向に導いた。 –