From f1a8c30dbad761c92cf305c5c3a9b39fc7ca93a7 Mon Sep 17 00:00:00 2001 From: xhxu Date: Sat, 6 May 2023 12:19:50 +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 --- .../controller/UserMouldVideoController.java | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java b/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java index 39b55d9..c38750f 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java @@ -246,29 +246,29 @@ public class UserMouldVideoController extends BaseController { InputStream inputStream = new URL(mouldVideo.getVideoPlayUrl()).openStream(); //获取从那个字节开始读取文件 - String rangeString = request.getHeader("Range"); - if(StringUtils.isNotBlank(rangeString)){ - tmpFile = FileUtils.createTmpFile(inputStream, mouldVideo.getId().toString(), "mp4"); - RandomAccessFile targetFile = new RandomAccessFile(tmpFile, "r"); - long fileLength = targetFile.length(); - long range = Long.valueOf(rangeString.substring(rangeString.indexOf("=") + 1, rangeString.indexOf("-"))); - //设置内容类型 - response.setHeader("Content-Type", "video/mp4"); - //设置此次相应返回的数据长度 - response.setHeader("Content-Length", String.valueOf(fileLength - range)); - //设置此次相应返回的数据范围 - response.setHeader("Content-Range", "bytes "+range+"-"+(fileLength-1)+"/"+fileLength); - //返回码需要为206,而不是200 - response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); - //设定文件读取开始位置(以字节为单位) - targetFile.seek(range); - - byte[] cache = new byte[1024 * 300]; - int flag; - while ((flag = targetFile.read(cache))!=-1){ - outputStream.write(cache, 0, flag); - } - }else{ +// String rangeString = request.getHeader("Range"); +// if(StringUtils.isNotBlank(rangeString)){ +// tmpFile = FileUtils.createTmpFile(inputStream, mouldVideo.getId().toString(), "mp4"); +// RandomAccessFile targetFile = new RandomAccessFile(tmpFile, "r"); +// long fileLength = targetFile.length(); +// long range = Long.valueOf(rangeString.substring(rangeString.indexOf("=") + 1, rangeString.indexOf("-"))); +// //设置内容类型 +// response.setHeader("Content-Type", "video/mp4"); +// //设置此次相应返回的数据长度 +// response.setHeader("Content-Length", String.valueOf(fileLength - range)); +// //设置此次相应返回的数据范围 +// response.setHeader("Content-Range", "bytes "+range+"-"+(fileLength-1)+"/"+fileLength); +// //返回码需要为206,而不是200 +// response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); +// //设定文件读取开始位置(以字节为单位) +// targetFile.seek(range); +// +// byte[] cache = new byte[1024 * 300]; +// int flag; +// while ((flag = targetFile.read(cache))!=-1){ +// outputStream.write(cache, 0, flag); +// } +// }else{ response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(mouldVideo.getId()+".mp4", "UTF-8")); //解决编码问题 @@ -280,7 +280,7 @@ public class UserMouldVideoController extends BaseController { while ((flag = inputStream.read(cache))!=-1){ outputStream.write(cache, 0, flag); } - } +// } }catch(MallinkException e){ ResultData resultData = new ResultData(e.getErrorCode(), e.getMessage());