1. 问题:
  2. 问题源码
package com.lm.cms2.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Controller
public class LogController {@RequestMapping("/downloadlog")public HttpServletResponse download( HttpServletResponse response,String path) {try {// path是指欲下载的文件的路径。File file = new File(path);// 取得文件名。String filename = file.getName();// 取得文件的后缀名。String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();// 以流的形式下载文件。InputStream fis = new BufferedInputStream(new FileInputStream(path));byte[] buffer = new byte[fis.available()];fis.read(buffer);fis.close();// 清空responseresponse.reset();// 设置response的Headerresponse.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("utf-8")));response.addHeader("Content-Length", "" + file.length());OutputStream toClient = new BufferedOutputStream(response.getOutputStream());response.setContentType("application/octet-stream");toClient.write(buffer);toClient.flush();toClient.close();} catch (IOException ex) {ex.printStackTrace();}return response;}}
  1. 解决办法
    31行代码后面多家一个编码ISO8859-1
 response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes("utf-8"),"ISO8859-1"));

正常显示

OJBK
4. 拓展一下

String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组
String.getBytes(String decode1)方法会根据指定的decode编码返回某字符串在该编码下的byte数组
new String(byte[],decode2)方法是 使用decode2编码来还原byte数组

Java下载文件时文件名中的中文变成下划线,其他正常相关推荐

  1. Java下载文件时文件名出现乱码(但文件内容正常)

    今天写文件下载时,发现以前忽略的问题,写个小记录 我们一般使用中文操作系统,所以要求的 文件名编码最好是utf-8,国际化一点 但是,似乎实际上不是这样 1. String fileName=new ...

  2. java下载文件时文件名中文乱码

    下载文件时中文乱码是一个很常见的问题, 这不是第一次,但我希望它是最后一次了 这是个让人很头疼的问题, 明明在后台文件名还是正常的,为什么下载后文件名就乱码了呢 为什么会乱码:因为浏览器的编码和后台传 ...

  3. 火狐浏览器下载文件时文件名乱码问题的解决

    火狐浏览器在微信网页版或其他网站中下载文件时,存在文件名乱码的问题,搜索了很多解决办法,写的都比较复杂,不适合我这种不懂代码的人.后来发现火狐浏览器附加组件addons上可以搜到解决此问题的组件,就是 ...

  4. eclipse里建立servlet文件时,package下面有红色下划线

    eclipse里建立servlet文件时,package下面有红色下划线 打开eclipse Java EE时经常有如下错误: package下有红下划线,我修改成功的方法是: 右键点击该.Java文 ...

  5. 教你把文件的文件名中繁体中文翻译成简体中文重命名

    文件重命名是我们常遇到的问题,而且一些文件的文件名中有些文字是繁体中文,那么如何将其翻译成简体中文重命名?下面就来试试这个新技巧吧.一起看操作. 准备工具: 一台WIN电脑 文件 开始操作: 在电脑浏 ...

  6. Linux火狐浏览器下载文件时文件名乱码

    火狐下载时文件名会乱码,其他浏览器如360.奇安信.扣扣都是正常的! 本文转自https://blog.csdn.net/tengqingyong/article/details/79943971?u ...

  7. java下载文件时告警:文件格式和扩展名不匹配 方法

    java下载的excel文件,打开时告警: 解决方法是: 1. 创建工作薄的时候,用Workbook workbook = new XSSFWorkbook(); 设置正确的response头信息, ...

  8. 通过jsp下载文件时文件名及文件内容错误问题

    1.文件名乱码问题: 如果是本地window,文件名是 String fileName = new String(fileName.getBytes("utf-8")," ...

  9. ie浏览器打开aspx文件乱码_ie浏览器下载文件时文件名乱码

    做一个文件下载功能时,用ie浏览器下载时文件名乱码,火狐和谷歌正常,修改后ie显示正常,修改方法如下: @RequestMapping(value = "fileDownload" ...

最新文章

  1. ORACLE 10G以后的ORDER BY操作优化
  2. 二叉树前序、中序和后序遍历的非递归实现
  3. bigint hive java类型_详解Apache Hudi如何配置各种类型分区
  4. 前端学习(730):函数的概念
  5. Kafka高性能相关
  6. python3学习笔记(2)_list-tuple
  7. 郁闷的开始--8月21日
  8. Mac 上设置文件共享教程
  9. 计算机考研复试笔试题库,苏州大学计算机考研复试真题和复试参考书目
  10. 串级PID控制(多闭环PID控制)的理解
  11. C# WPF如何设置oxyplot的折线图禁止鼠标滚轮缩放
  12. 《猎头局中局》作者萧东楼访谈摘录
  13. 只需要一招,改变你的网易云皮肤(仅限于PC端)
  14. ShaderGraph节点——UV
  15. 建模神器 | 涨知识,BIM渲染神技能
  16. 如何设置修改网页中滚动条
  17. 尚硅谷-宋红康-MySQL高级性能篇
  18. 行人重识别(21)——行人重识别算法性能指标
  19. 链克袋鼠Linker创建链克账户教程
  20. 段永平的第四个徒弟:拼多多黄峥学会了打法,没领悟到本分

热门文章

  1. 新浪微博热搜榜“背后的男人”讲述热搜背后的秘密
  2. 汪涵曾因太穷被前妻离婚,杨乐乐因一个动作就把初恋男友甩了
  3. 新词发现:中文新词识别技术简介
  4. 网络资产中主机发现方案分析
  5. 转载了别人的cocos2d-x的学习笔记
  6. 分享一个在线去水印网站
  7. 使用U盘win10家庭版本系统重装
  8. 聊聊那些专为算法设计的模式——模板方法模式
  9. java基础猜拳游戏
  10. App逆向——安卓7以上如何安装抓取https的包