|
文件下载时防止中文乱码 文件下载时防止中文乱码的方法很多,例如应用如下代码: System.Text.Encoding.UTF8 System.Text.Encoding.GetEncoding(“gb 或在配置文件中配置如下信息: web.config:<globalization requestEncoding=”gb 如果以上方法在Visual Studio 2005或2008环境中还是不能防止下载时中文乱码,可以偿试以下代码: protected void LinkButton1_Click(object sender, EventArgs e) { if (Session["pic"] !="") { string imgpath = ""; imgpath = Server.MapPath("File/") + Session["pic"].ToString(); FileInfo FInfo = new FileInfo(imgpath); if (FInfo.Exists) { //清空数据流 Response.Clear(); Response.AddHeader("Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode(FInfo.Name)); //将HTTP流添加到输出流 Response.AppendHeader("Content-Length", FInfo.Length.ToString()); //设置输出流的HTML MIME类型 Response.ContentType = "application/octet-stream"; Response.Filter.Close(); //将指定的文件直接写入HTTP响应输出流 Response.WriteFile(HttpUtility.UrlDecode(FInfo.FullName)); Response.End(); } Response.Write("<script>alert('文件下载成功')</script>"); } } 下面这个图就是应用上述给的文件下载代码实现的功能界面图。 |