diff --git a/kernel-a-rule/src/main/java/cn/stylefeng/roses/kernel/rule/util/ResponseRenderUtil.java b/kernel-a-rule/src/main/java/cn/stylefeng/roses/kernel/rule/util/ResponseRenderUtil.java index 7a164cb7f..829e4f863 100644 --- a/kernel-a-rule/src/main/java/cn/stylefeng/roses/kernel/rule/util/ResponseRenderUtil.java +++ b/kernel-a-rule/src/main/java/cn/stylefeng/roses/kernel/rule/util/ResponseRenderUtil.java @@ -25,6 +25,9 @@ package cn.stylefeng.roses.kernel.rule.util; import cn.hutool.core.util.CharsetUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.core.util.URLUtil; import cn.hutool.http.ContentType; import cn.stylefeng.roses.kernel.rule.pojo.response.ErrorResponseData; import com.alibaba.fastjson.JSON; @@ -79,4 +82,16 @@ public class ResponseRenderUtil { } } + /** + * 设置渲染文件的头 + * + * @author fengshuonan + * @date 2021/7/1 15:01 + */ + public static void setRenderFileHeader(HttpServletResponse response, String fileName) { + final String charset = ObjectUtil.defaultIfNull(response.getCharacterEncoding(), CharsetUtil.UTF_8); + response.setHeader("Content-Disposition", StrUtil.format("attachment;filename={}", URLUtil.encode(fileName, charset))); + response.setContentType("application/octet-stream; charset=utf-8"); + } + }