ASP.net 下載檔案處理
最近有個項目需要bs的下載檔案處理,以前記得做c#時候儲存檔案時候,直接通過fileopendialog或者是filesave控制項來執行,但是bs的好像沒有現成的控制項進行對下載檔案的直接選取控制項,再網上找了些相關資料,對於下載大致分為二種方式。
1.直接通過擷取用戶端檔案和路徑進行下載,代碼如下
try
{
string fileName ="檔案名稱";
string filePath = Server.MapPath("/");//路徑
FileInfo fileInfo = new FileInfo(filePath);
if (fileInfo.Exists)
{
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
Response.AddHeader("Content-Length", fileInfo.Length.ToString());
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.WriteFile(fileInfo.FullName);
Response.Flush();
Response.End();
}
else
{
Alert.Show("下載的當前檔案不存在,請確認");
}
}
catch
{
Alert.Show("下載失敗");
}
2.通過直接調用<a href進行下載如下:
通過建立一個label控制項,當單擊label控制項顯示到下載的連結頁面
this.Label1.Text = "<a href=/" + 需要檔案下載的路徑+ " target=_blank>下載</a>";
當單擊label時候,連結到具體檔案下載。