From c2b07061852d66589b2ae30127ce5ad1a643aa66 Mon Sep 17 00:00:00 2001 From: duhuafei Date: Wed, 26 Jun 2019 14:39:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9Word=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D=E8=AE=BE=E7=BD=AEcontent-disposition=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../afterturn/easypoi/view/EasypoiTemplateWordView.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/easypoi-web/src/main/java/cn/afterturn/easypoi/view/EasypoiTemplateWordView.java b/easypoi-web/src/main/java/cn/afterturn/easypoi/view/EasypoiTemplateWordView.java index 2298be7..56f8a6d 100644 --- a/easypoi-web/src/main/java/cn/afterturn/easypoi/view/EasypoiTemplateWordView.java +++ b/easypoi-web/src/main/java/cn/afterturn/easypoi/view/EasypoiTemplateWordView.java @@ -21,6 +21,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import cn.afterturn.easypoi.util.WebFilenameUtils; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.springframework.stereotype.Controller; @@ -50,12 +51,8 @@ public class EasypoiTemplateWordView extends PoiBaseView { if (model.containsKey(TemplateWordConstants.FILE_NAME)) { codedFileName = (String) model.get(TemplateWordConstants.FILE_NAME) + ".docx"; } - if (isIE(request)) { - codedFileName = java.net.URLEncoder.encode(codedFileName, "UTF8"); - } else { - codedFileName = new String(codedFileName.getBytes("UTF-8"), "ISO-8859-1"); - } - response.setHeader("content-disposition", "attachment;filename=" + codedFileName); + // 用工具类生成符合RFC 5987标准的文件名header, 去掉UA判断 + response.setHeader("content-disposition", WebFilenameUtils.disposition(codedFileName)); XWPFDocument document = WordExportUtil.exportWord07( (String) model.get(TemplateWordConstants.URL), (Map) model.get(TemplateWordConstants.MAP_DATA));