BloggerAD(Head)

2015年8月16日 星期日

下載檔案(Download File) - [檔名亂碼問題]

下載Server上的中文檔案,下載下來檔名變為亂碼。

[已下為範例程式碼]
context.Response.ContentType = "application/octet-stream";

string filename = HttpUtility.UrlPathEncode("中文檔名.txt");

context.Response.AddHeader("content-disposition", "attachment; filename=\"" + filename + "\";");
        
byte[] data = (byte[])dt.Rows[0]["Data"];

context.Response.AddHeader("Content-Length", data.Length.ToString());

context.Response.BinaryWrite(data);

context.Response.End();

由於FireFox不會發生,可加上下面的code避開(請參考資料來源)
if (Request.Browser.Browser == "IE") {
    fileName = Server.UrlPathEncode(fileName);
}

沒有留言:

張貼留言