diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/util/SmartResponseUtil.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/util/SmartResponseUtil.java index 3ce4cc08..2594fa6e 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/util/SmartResponseUtil.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/common/util/SmartResponseUtil.java @@ -9,8 +9,10 @@ import org.springframework.http.MediaType; import org.springframework.http.MediaTypeFactory; import java.io.IOException; -import java.io.UnsupportedEncodingException; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; + +import static cn.hutool.core.util.CharsetUtil.UTF_8; /** * 返回工具栏 @@ -27,8 +29,8 @@ public class SmartResponseUtil { public static void write(HttpServletResponse response, ResponseDTO responseDTO) { // 重置response - response.setContentType("application/json"); - response.setCharacterEncoding("utf-8"); + response.setContentType(MediaType.APPLICATION_JSON_VALUE); + response.setCharacterEncoding(UTF_8); try { response.getWriter().write(JSON.toJSONString(responseDTO)); @@ -44,20 +46,15 @@ public class SmartResponseUtil { } public static void setDownloadFileHeader(HttpServletResponse response, String fileName, Long fileSize) { - response.setCharacterEncoding("utf-8"); - try { - if (fileSize != null) { - response.setHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(fileSize)); - } + response.setCharacterEncoding(UTF_8); + if (fileSize != null) { + response.setHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(fileSize)); + } - if (SmartStringUtil.isNotEmpty(fileName)) { - response.setHeader(HttpHeaders.CONTENT_TYPE, MediaTypeFactory.getMediaType(fileName).orElse(MediaType.APPLICATION_OCTET_STREAM) + ";charset=utf-8"); - response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20")); - response.setHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, HttpHeaders.CONTENT_DISPOSITION); - } - } catch (UnsupportedEncodingException e) { - log.error(e.getMessage(), e); - throw new RuntimeException(e); + if (SmartStringUtil.isNotEmpty(fileName)) { + response.setHeader(HttpHeaders.CONTENT_TYPE, MediaTypeFactory.getMediaType(fileName).orElse(MediaType.APPLICATION_OCTET_STREAM) + ";charset=utf-8"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode(fileName, StandardCharsets.UTF_8).replaceAll("\\+", "%20")); + response.setHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, HttpHeaders.CONTENT_DISPOSITION); } }