ファイルをダウンロードし、受け入れたらそれを生成し、転送が完了したらファイルを削除するように要求します(ダウンロードに同意する場合)。ASP.NETで生成されたファイルホスティング
誰かがこのような何かを達成するためにシャープまたはHTMLコードを知っていますか?
ありがとうございました。
あなたは、例えばそのため、ファイルハンドラに ASHXを使用することができます download.ashx 、ここではあなたが内部持つことができますどのような速い例ですファイルをダウンロードし、受け入れたらそれを生成し、転送が完了したらファイルを削除するように要求します(ダウンロードに同意する場合)。ASP.NETで生成されたファイルホスティング
誰かがこのような何かを達成するためにシャープまたはHTMLコードを知っていますか?
ありがとうございました。
あなたは、例えばそのため、ファイルハンドラに ASHXを使用することができます download.ashx 、ここではあなたが内部持つことができますどのような速い例です、ユーザがダウンロードを受け入れます(。つまり、ボタンをクリックしてください):
は、CSVファイルを生成し、一時フォルダに保存します(一時的なパスを取得するにはFileクラスのユーティリティメソッドを使用します)
使用
Response.ContentType = "text/csv"; Response.AppendHeader( "Content-disposition"、 "attachment; filename = file.csv");その後、
コールResponse.WriteFile
前に発生したとして、引数としてファイルパスを渡し、Response.Flush()
すべてのファイルが
finally
を送られたことを確認するために、それは、ファイルの種類
これはうまくいきました。 – user420667
実際には、これを行うと、残りの部分がhtmlとしてcsvファイルの最後に挿入されます。それが何であるか、それをどう修正するのかというアイデアは何ですか?それは私がページをレンダリングするのを止めてそれをレスポンスに送るのに必要なのと同じです... – user420667
まあ...私はあなたにfinallyブロックのResponse.End()を言うのを忘れていました;) –
...
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();
}
コントロールがまだレンダリングされていないことを確認すると、通常のGETまたはPOST要求に対するファイル応答がASPXページに返されることに注意してください(Request.ClearおよびCompleteRequest - http://msdn.microsoft.com/ en-us/library/f417efst.aspx) –
ファイルを削除? –
これはcsvファイルです – user420667