From 5cb07b724c573e54881b583cfc8548962147e5b3 Mon Sep 17 00:00:00 2001 From: leijun Date: Thu, 18 Oct 2018 11:15:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=81=AB=E7=8B=90=E6=B5=8F?= =?UTF-8?q?=E8=A7=88=E5=99=A8=E6=96=87=E4=BB=B6=E5=90=8D=E7=A9=BA=E6=A0=BC?= =?UTF-8?q?=E5=87=BA=E7=8E=B0+=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/nis/util/excel/ExportExcel.java | 2 +- src/main/java/com/nis/web/controller/BaseController.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/nis/util/excel/ExportExcel.java b/src/main/java/com/nis/util/excel/ExportExcel.java index 2664857b7..29e0da42b 100644 --- a/src/main/java/com/nis/util/excel/ExportExcel.java +++ b/src/main/java/com/nis/util/excel/ExportExcel.java @@ -1395,7 +1395,7 @@ public class ExportExcel { public ExportExcel write(HttpServletResponse response, String fileName) throws IOException{ response.reset(); response.setContentType("application/octet-stream; charset=utf-8"); - response.setHeader("Content-Disposition", "attachment; filename="+Encodes.urlEncode(fileName)); + response.setHeader("Content-Disposition", "attachment; filename=\""+fileName+"\""); write(response.getOutputStream()); return this; } diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index 4488fffc0..1fa03ffed 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -2,6 +2,7 @@ package com.nis.web.controller; import java.beans.PropertyEditorSupport; import java.io.IOException; import java.lang.reflect.Field; +import java.net.URLEncoder; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -2237,6 +2238,11 @@ public class BaseController { map.put("labels", labels); String fileName = msgProp.getProperty(functionName, functionName)+"_"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx"; + if(request.getHeader("User-Agent").toUpperCase().indexOf("MSIE")>0){ + fileName = URLEncoder.encode(fileName, "UTF-8"); + }else{ + fileName = new String(fileName.getBytes("UTF-8"),"ISO8859-1"); + } new ExportExcel(msgProp,titleList,noExportMap,classMap,1).setDataList(msgProp,dataMap,map).write(response, fileName).dispose(); } }