码迷,mamicode.com
首页 > Web开发 > 详细

Asp.Net导出文件名中文乱码

时间:2018-12-20 14:22:10      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:excel   ret   use   end   http   app   编码   viewstate   pos   

Asp.Net导出word为例,Excel等其他文件也一样

protected void Page_Load(object sender, EventArgs e)
    {string html = “网页html代码”;
        string fileName = "故事.doc";
        DownloadDoc(fileName,html);
    }
    public void DownloadDoc(string fileName, string pageHtml)
    {
        //设置Http的头信息,编码格式  
        HttpContext.Current.Response.Buffer = true;
        HttpContext.Current.Response.Clear();
        HttpContext.Current.Response.Charset = "gb2312";
        HttpContext.Current.Response.ClearContent();
        HttpContext.Current.Response.ClearHeaders();
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
        HttpContext.Current.Response.ContentType = "application/ms-word";
        HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + clFielName(fileName));
        //关闭控件的视图状态  ,如果仍然为true,RenderControl将启用页的跟踪功能,存储与控件有关的跟踪信息
        this.EnableViewState = false;

        HttpContext.Current.Response.Write(pageHtml);
        HttpContext.Current.Response.End();
    }
    public string clFielName(string fileName)
    {
        System.Web.HttpContext curContext = System.Web.HttpContext.Current;
        string outputFileName = null;
        string browser = curContext.Request.UserAgent.ToUpper();
        if (browser.Contains("MS") == true && browser.Contains("IE") == true)
        {
            outputFileName = System.Web.HttpUtility.UrlEncode(fileName);
        }
        else if (browser.Contains("FIREFOX") == true)
        {
            outputFileName = "\"" + fileName + "\"";
        }
        else
        {
            outputFileName = System.Web.HttpUtility.UrlEncode(fileName);
        }
        return outputFileName;
    }

判断不同的浏览器,然后编码

Asp.Net导出文件名中文乱码

标签:excel   ret   use   end   http   app   编码   viewstate   pos   

原文地址:https://www.cnblogs.com/webapi/p/10148555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!