若在下載檔案
需要替換檔案名稱再供使用者下載
可以參考以下作法
fileName : 需指定的檔案名稱
path : 實體檔案URL相對路徑

FileStream fs = new FileStream(Server.MapPath(path), FileMode.Open);
long filesize = fs.Length;

// 若Browser為IE
if (Request.Browser.Browser == "IE")
{
     // 將檔名做URL編碼
     fileName = Server.UrlPathEncode(fileName);
}

// 設定Header
string strContentDisposition = String.Format("{0}; filename=\"{1}\"", "attachment", fileName);
Response.AddHeader("Content-Disposition", strContentDisposition);
Response.AddHeader("Content-Length", filesize.ToString());
// 指定Header編碼
Response.HeaderEncoding = Encoding.GetEncoding("big5");

// 以下有兩種方式 第一種即是把第二種整合成Method使用
<<
Response.WriteFile(Server.MapPath(path));
OR
byte[] fileBuffer = new byte[filesize];
fs.Read(fileBuffer, 0, (int)filesize);
Response.BinaryWrite(fileBuffer);
>>

Response.End(); 
文章標籤
全站熱搜
創作者介紹
創作者 流風羽 的頭像
流風羽

流風羽的部落格

流風羽 發表在 痞客邦 留言(0) 人氣(288)