2011-01-05 9 views
0

ファイルをダウンロードし、受け入れたらそれを生成し、転送が完了したらファイルを削除するように要求します(ダウンロードに同意する場合)。ASP.NETで生成されたファイルホスティング

誰かがこのような何かを達成するためにシャープまたはHTMLコードを知っていますか?

ありがとうございました。

あなたは、例えばそのため、ファイルハンドラに ASHXを使用することができます download.ashx 、ここではあなたが内部持つことができますどのような速い例です
+1

ファイルを削除? –

+0

これはcsvファイルです – user420667

答えて

1

、ユーザがダウンロードを受け入れます(。つまり、ボタンをクリックしてください):

  1. は、CSVファイルを生成し、一時フォルダに保存します(一時的なパスを取得するにはFileクラスのユーティリティメソッドを使用します)

  2. 使用

    Response.ContentType = "text/csv"; Response.AppendHeader( "Content-disposition"、 "attachment; filename = file.csv");その後、

  3. コールResponse.WriteFile前に発生したとして、引数としてファイルパスを渡し、Response.Flush()すべてのファイルが

  4. finallyを送られたことを確認するために、それは、ファイルの種類

+0

これはうまくいきました。 – user420667

+0

実際には、これを行うと、残りの部分がhtmlとしてcsvファイルの最後に挿入されます。それが何であるか、それをどう修正するのかというアイデアは何ですか?それは私がページをレンダリングするのを止めてそれをレスポンスに送るのに必要なのと同じです... – user420667

+0

まあ...私はあなたにfinallyブロックのResponse.End()を言うのを忘れていました;) –

1

...

public void ProcessRequest(HttpContext context) 
{ 
    // example for the csv 
    context.Response.ContentType = "text/html"; 
    // what is the file name that the user see to save 
    context.Response.AppendHeader("Content-disposition", "attachment; filename=" + cFileNameToShowAndDownload); 

    context.Response.Write("here is your text to send"); 

    context.Response.Flush(); 
} 
+0

コントロールがまだレンダリングされていないことを確認すると、通常のGETまたはPOST要求に対するファイル応答がASPXページに返されることに注意してください(Request.ClearおよびCompleteRequest - http://msdn.microsoft.com/ en-us/library/f417efst.aspx) –

関連する問題