ie6處理下載文件名過長問題的解決方案
瀏覽量:4420
CRM定制,軟件開發,辦公OA 易勢科技是你的好伙伴
今天終于發現,使用gb2312編碼Header就可以使文件名長度限制為75個中文字符,已經基本滿足了需要。就其原理,這是微軟的一個bug,header長度有限制,好像是158個字節,如果使用UTF-8編碼文件名,超過18個中文字符的文件名就會超過限制,產生文件名亂碼。但是使用gb2312編碼,每個漢字2個直接,就可以使中文件名的限制擴展到75個
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.Buffer = true;
Response.HeaderEncoding = Encoding.GetEncoding("gb2312"); //此處編碼必須為gb2312,文件名最多可有75個漢字
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + strFileFullName);
FileInfo objFileInfo = new FileInfo(Server.MapPath(strPath + "/" + strFileFullName));
Response.AddHeader("Content-Length", objFileInfo.Length);
Response.WriteFile(Server.MapPath(strPath + "/" + strFileFullName));
Response.Flush();
Response.End();
上一篇:.net中出現死循環或者無限遞歸
下一篇:SQL數據生成實體類