2016-11-07 3 views
0

私はXLSファイルを作成し、それをユーザのコンピュータにアップロードするメソッドを構築しています。 は、私は、このガイドを使用しています: http://csharp.net-informations.com/excel/csharp-create-excel.htmC#ASP.NET文字列のファイルアドレスを取得する

をだから私の宛先アドレスを定義するコードは次のとおりです。

xlWorkBook.SaveAs("C:\\Something\\csharp-Excel.xls", Excel.XlFileFormat.xlWorkbookNormal);

今ではデフォルトですが、私は、ユーザーが自分自身でそれを定義することができるようにしたいです、私が理解する限り、私は一般的な "ブラウズウィンドウ"を開き、後でxlWorkBook.SaveAs関数で使用される文字列へのファイルパスを保存するhtmlフィールドが必要です。私はFileUploadについて少し読んだことがありますが、私はそれが私が探しているものであることを本当に確信していません。

+0

ユーザーがファイルパスを送信していない場合は、ファイルをユーザーに送信してから、保存先を選択します。ウェブサイトからファイルをダウンロードするときと同じように、私はあなたが何百回もそれをやったと確信しています。アップロードはユーザーがあなたにファイルを送信したもので、それ以外の方法ではありません。 – ADyson

答えて

1

このコードは、ユーザーのコンピュータではなく、Webサーバー自体にファイルを保存します。ブラウザを使用してファイルをユーザーにストリーミングする必要があります。ファイルを保存する場所を選択できるようになります。

サーバーにファイルを保存してから、Response.WriteFileを使用してユーザーにストリームを送信することもできます。サーバー上にファイルのコピーを保存しない場合は、メモリからストリームすることもできます。

+0

申し訳ありませんが、私はあなたとほぼ同じ答えを同時に入力しました。あなたはそれまで数秒で私を打つ:) – HaukurHaf

1

このコードでは、サーバー上にというファイルが作成され、ユーザー/クライアントコンピュータではなくになります。ユーザーがファイルを自分のコンピュータにダウンロードしてファイルが格納されている場所を選択できるようにするには、WebフォームまたはMVCを使用しているかどうかに応じて、ファイル(.aspxファイルまたはコントローラメソッド)を作成する必要があります)、それをユーザーのブラウザにストリームさせます。ブラウザは、ユーザが目的地の場所を選択できる「名前を付けて保存」ダイアログを表示することに注意します。

関連する問題