From 35ffc4ab8d6301c8970c921e676631c00658363b Mon Sep 17 00:00:00 2001 From: xhxu Date: Fri, 5 May 2023 15:47:00 +0800 Subject: [PATCH] =?UTF-8?q?//=E4=B8=8B=E8=BD=BD=E8=A7=86=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/controller/UserMouldVideoController.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java b/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java index 0521db7..e928288 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java @@ -34,6 +34,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URL; +import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.List; @@ -215,6 +216,7 @@ public class UserMouldVideoController extends BaseController { logger.debug("[" + getIpAddr() + "] UserMouldVideoController::exportVideo"); response.reset(); + OutputStream outputStream = null; try { outputStream = response.getOutputStream(); @@ -237,8 +239,11 @@ public class UserMouldVideoController extends BaseController { //获取响应的输出流 InputStream inputStream = new URL(mouldVideo.getVideoPlayUrl()).openStream(); - response.setHeader("Content-Disposition", "attachment; filename="+mouldVideo.getTitle() ); + + response.setHeader("Content-Disposition", "attachment; filename=" + + URLEncoder.encode(mouldVideo.getTitle()+".mp4", "UTF-8")); //解决编码问题 + response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Type","application/octet-stream"); byte[] cache = new byte[1024 * 300]; @@ -250,6 +255,7 @@ public class UserMouldVideoController extends BaseController { }catch(MallinkException e){ ResultData resultData = new ResultData(e.getErrorCode(), e.getMessage()); //解决编码问题 + response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Type","application/json"); outputStream.write(JSONObject.toJSONString(resultData).getBytes(StandardCharsets.UTF_8));