在ASP.NET,如果你想流的文件給客戶端,並有保存對話框提示用戶選擇一個位置,你將不得不直接設置正確的內容類型和內容處置響應頭,然後將文件寫入響應流:
例如:
protected void SomeButton_Click(object sender, EventArgs e)
{
// TODO: adjust the path to the file on the server that you want to download
var fileToDownload = Server.MapPath("~/App_Data/someFile.pdf");
Response.ContentType = "application/octet-stream";
var cd = new ContentDisposition();
cd.Inline = false;
cd.FileName = Path.GetFileName(fileToDownload);
Response.AppendHeader("Content-Disposition", cd.ToString());
byte[] fileData = System.IO.File.ReadAllBytes(fileToDownload);
Response.OutputStream.Write(fileData, 0, fileData.Length);
}
現在,當這個代碼前該文件將被髮送到客戶端瀏覽器,該瀏覽器將提示將其保存在他的計算機上的特定位置。
不幸的是,出於安全原因,您無法捕獲客戶端選擇將文件存儲在他的計算機上的目錄。這些信息絕不會通過網絡傳輸,而且您無法在ASP.NET應用程序中知道它。因此,您必須找到其他方式來獲取此信息,例如要求客戶在某個文本框或其他字段中輸入該信息。
謝謝..將嘗試它 –
@ NK-在你嘗試它後,什麼?沒有投票,不接受?如果工作沒有意見,或者你面臨什麼其他問題? – Aristos
我試過....我在線上遇到問題,我設置了內容類型。將更新您的位置我錯了。謝謝 –