保存ダイアログでファイルをローカルマシンに保存します。しかしその後、私のページはそこに立って残りのプロセスのために何もしません。私は、ダイアログ保存開くために、コードの下に使用ASP.NETでページを更新
protected void lnkbtnDownload_Click(object sender, EventArgs e)
{
string fileName = startupPath + "bin\\Inbox.mdb";
System.IO.FileInfo targetFile = new System.IO.FileInfo(fileName);
if (targetFile.Exists)
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + targetFile.Name);
Response.AddHeader("Content-Length", targetFile.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.WriteFile(targetFile.FullName);
Response.End();
}
}
htmlコードは次のとおりです。
<asp:Button id="lnkbtnDownload" runat="server" CausesValidation="false"
Text="Download" CssClass="buttonstyle" OnClick="lnkbtnDownload_Click"></asp:Button>
が、ファイルの後にすべての私のページ、何の応答をローカルマシンに保存しないと、ダイアログが近くにあり、保存され。保存ダイアログが閉じた後、ページへのポストバックを行う方法を知っていてもいいですか?
はい、応答のコンテンツタイプが "text/html"から "application /オクテットストリーム "と呼ばれる出力がブラウザに表示されません。また、ファイルを処理するためにハンドラを使用することをお勧めします - 例えばクエリ文字列にGuidを渡して、目的のファイルを識別できるようにしてください。 –