`
陈修恒
  • 浏览: 200705 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA EE 下载,文件名显示中文

    博客分类:
  • java
阅读更多
HttpServletRequest request = getHttpRequest();
HttpServletResponse response = getHttpResponse();
response.reset();

response.setCharacterEncoding(SysConfig.CHARSET.name());
response.setContentType(item.getCContentType());
response.setHeader("Connection", "close");

// 生成中文文件名
String filename = item.getCName();
String newFilename = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) +"."+ FileUtils.getFileSuffix(filename);
try {
String header = request.getHeader("user-Agent");
if (null != header) {
header = header.toUpperCase();
}
if (null == header) {
// 不能识别浏览器类型, 不处理
} else if (header.contains("MSIE")) { // IE
newFilename = URLEncoder.encode(filename, "UTF-8");
} else if (header.contains("FIREFOX")){ // 火狐
newFilename = new String(filename.getBytes("UTF-8"), "ISO8859-1");
} else if (header.contains("CHROME")) {
newFilename = new String(filename.getBytes("UTF-8"), "ISO8859-1");
}
} catch (UnsupportedEncodingException e) {
logger.error("不支持的字符集", e);
}
response.setHeader("Content-disposition", "attachment;filename=\"" + newFilename + "\"");


// 文件输出
OutputStream outStream = null;
InputStream inStream = null;
try{
response.setContentLength((int) item.getBContent().length());
outStream = response.getOutputStream();
inStream = item.getBContent().getBinaryStream();
IOUtils.copy(inStream, outStream);
} catch (Exception e) {
logger.error("下载文件出错[newsId=" + newsId + "]", e);
} finally {
IOUtils.closeQuietly(inStream);
IOUtils.closeQuietly(outStream);
}
分享到:
评论

相关推荐

    Java EE 编码规范.docx

    目 录 2 一、规范存在的意义 3 二、命名规范 3 ...1、 java类 8 2、 字段 8 3、 方法 8 4、 变量 9 5、 Xml文件名 9 6、 URL命名 9 八、J2EE规范 9 1、J2EE规范 9 2、J2EE组件层次 10 3、J2EE的分布应用技术 12

    JSP读取TXT文件并显示

    运行环境:Tomcat, JAVA EE6.0,搜狗高速浏览器 程序作者:Roy Liu 直接添加到MyEclipse中即可运行。 源程序内有代码注释。 已知BUG: 1、未输入文件地址时,会报错; 2、当TXT文件内容包含中文时,有时会显示乱码...

    运行java的class文件方法详解.docx

    要运行 Class 文件,需要使用 Java 命令,命令格式为:`java CLASS 文件名`。注意,CLASS 文件名不要带文件后缀 `.class`。例如,要运行 `Test.class` 文件,可以使用以下命令: ``` java Test ``` 如果 Class 文件...

    关于Java使用EasyExcel导出动态数据为Excel文件SpringBoot代码项目示例

    1、Java导出动态数据为Excel文件,具体示例可以参考:https://img-blog.csdnimg.cn/1cc86ee5dffa48669e2b97283585fad2.png 2、项目使用SpringBoot,Ali3.0.5版本的easyexcel框架。 3、资源内有具体的使用说明和易...

    JAVA--达内培训笔记

    Java EE --- 企业级平台 Java ME --- 微小平台,用在资源受限的平台上 3、(1)跨平台 --- 一次编译,到处运行 (2)简 单 --- 简化C++,取消了指针,对指针进行了上层的封装,它保证能够通过这个指针(引用)...

    运行Java的class文件方法详解

    一、运行class文件  执行带main方法的class文件,命令行为:  java ...  例如:PackageTest.java中,其包名为:com.ee2ee.test,对应的语句为:  package com.ee2ee.test;  PackageTest.java

    OpenJPA 2.2.1 API (CHM格式)

    OpenJPA 可以作为独立的持久层框架发挥作用,也可以轻松的与其它 Java EE 应用框架或者符合 EJB 3.0 标准的容器集成。  除了对 JPA 标准的支持之外,OpenJPA 还提供了非常多的特性和工具支持让企业应用开发变得更加...

    fanxing.rar

    Java泛型学习源码————B站Java学习笔记之泛型的相关笔记(含源码),里面的代码只是简单的照着B站课程的来敲的,比较浅,只做个人的笔记使用,方便自己进行相应的回顾(因在学习过程没有命名好文件夹名和文件名)...

    javamail.pdf

    JavaMail 是 Java EE 中的一个标准 API,广泛应用于企业级应用程序中。 EmailData 类 在 JavaMail 中,EmailData 类是一个重要的数据结构类,用于封装邮件的各种属性,如发件人、收件人、邮件主题、邮件内容、邮件...

    editftp-pro

    //设置传输类型 5、mkdir("文件夹名") //在ftp当前目录下新建一个目录 问题: 利用此组件在测试过程中,发现当上传含有中文的文件名时会失败(FTPClient认为它不是一个文件,奇怪)! 完整程序: ...

    三种版本的在线图片裁剪基于UCenter camera.swf

    camera.swf 会通过上面这个网址来读取图片,显示供操作。还可以有以下返回值作为错误代码: -1 : Invalid identity! -2 : Invalid photograph! -3 : No photograph be upload! -4 : Can not write to the data...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    3、 系统的易用性和易维护性:要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。 4、 系统的数据要求:1、...

    Struts2属性文件详解

    对于某些Java EE服务器,不支持HttpServlet Request调用getParameterMap()方法,此时可以设置该属性值为true来解决该问题.该属性的默认值是false.对于 WebLogic、Orion和OC4J服务器,通常应该设置该属性为true. struts....

    cse4413:ECCS 4413 项目和练习的源代码(约克大学)

    欢迎文件列表:当用户请求根路径时要解析的默认文件名。 错误页面:提供错误代码或异常类型和匹配页面。 ###META-INF ##第 3 周套餐关注点分离。 包之间的通信。 tomcat 中的包分离。 控制器分析小服务程序JSPX ...

    【05-面向对象(下)】

    •在java类里只能包含Field,方法,构造器,初始化块,内部类(接口、枚举)等5种成员。 用static修饰的类成员属 于类成员,类Field既可通过类来访问,也可以通过类的对象来访问。当通过对象来访问类属性时,系统会在底...

    Struts2\constant应用

    对于某些Java EE服务器,不支持HttpServlet Request调用getParameterMap()方法,此时可以设置该属性值为true来解决该问题。该属性的默认值是false。 对于WebLogic、Orion和OC4J服务器,通常应该设置该属性为true。 ...

Global site tag (gtag.js) - Google Analytics