千家信息网

response文件流输出文件名中文不显示怎么办

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章主要介绍"response文件流输出文件名中文不显示怎么办",在日常操作中,相信很多人在response文件流输出文件名中文不显示怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2024年11月14日response文件流输出文件名中文不显示怎么办

这篇文章主要介绍"response文件流输出文件名中文不显示怎么办",在日常操作中,相信很多人在response文件流输出文件名中文不显示怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"response文件流输出文件名中文不显示怎么办"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    文件流输出文件名中文不显示

    response返回文件流 用response.setHeader("Content-disposition", "attachment; filename="+fileName);结果中文名称以"—"下滑下显示。

    使用如下方法没有解决

    response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");response.setLocale(new java.util.Locale("zh","CN"));

    原因是这些操作是针对返回内容进行编码设置,而我这里文件名称设置于header;

    解决方法

    将文件名称转换为ASCII码~

    如下:

    //  一万行代码没有显示OutputStream output = null;                try {                        response.reset();                        response.setContentType("application/msexcel;charset=UTF-8");//                      response.setCharacterEncoding("UTF-8");                        fileName = URLEncoder.encode(fileName,"UTF-8");                        output = response.getOutputStream();                        response.setHeader("Content-disposition", "attachment; filename="+fileName);                        wb.write(output);                        if(output != null) output.close();                } catch (IOException e) {                        // TODO                        e.printStackTrace();                }

    response下载时中文文件名乱码

    FileInfo info = new FileInfo(strFilePath);long fileSize = info.Length;Response.Clear();Response.Buffer = true;Response.ContentType = "application/x-zip-compressed";Response.AddHeader("Accept-Language", "zh-cn");Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpContext.Current.Server.UrlEncode(info.Name));//不指明Content-Length用Flush的话不会显示下载进度   Response.AddHeader("Content-Length", fileSize.ToString());Response.TransmitFile(strFilePath, 0, fileSize);Response.Flush();Response.Close();info.Delete();

    到此,关于"response文件流输出文件名中文不显示怎么办"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

    0