diff --git a/web/src/main/java/cn/jlw/Interceptor/GetFile.java b/web/src/main/java/cn/jlw/Interceptor/GetFile.java index 8cb45da7..76f041a3 100644 --- a/web/src/main/java/cn/jlw/Interceptor/GetFile.java +++ b/web/src/main/java/cn/jlw/Interceptor/GetFile.java @@ -1,5 +1,7 @@ package cn.jlw.Interceptor; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import cn.jlw.util.ChunkUploadUtil; import cn.jlw.util.ConvertM3U8; import cn.jlw.util.SpringContextUtil; @@ -35,8 +37,11 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicLong; +import static cn.hutool.core.date.DatePattern.PURE_DATETIME_MS_FORMAT; import static cn.jlw.util.CacheUserUtil.checkSession; import static com.ibeetl.admin.core.service.CorePlatformService.T_STUDENT; +import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUserId; +import static java.io.File.separatorChar; //将从request中获取的file获取出来并存入临时文件夹中 @@ -126,12 +131,18 @@ public class GetFile implements HandlerMethodArgumentResolver { } } - public Object resolveArgument1(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception { + public Object resolveArgument2(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception { RFile rFile = parameter.getParameterAnnotation(RFile.class); List fileEntityList = new ArrayList<>(); HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class); - checkSession(); + checkSession(); final Long userId = getUserId(); + String dateTime = PURE_DATETIME_MS_FORMAT.format(DateUtil.date()); + String userFilePathPrefix = StrUtil.format("{}{}{}{}", separatorChar, userId, separatorChar, dateTime); + String generalPathPrefix = StrUtil.format("{}{}", separatorChar, "filesystem"); + + String tempPath = StrUtil.format("{}{}{}{}", generalPathPrefix, separatorChar, "TEMP", userFilePathPrefix); + // 文件集合 Collection requestParts = request.getParts(); requestParts.forEach(part -> { String name = part.getName(); @@ -159,7 +170,7 @@ public class GetFile implements HandlerMethodArgumentResolver { * @Date: 2022/12/6 17:37 */ @Override - public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception { + public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception { RFile rFile = parameter.getParameterAnnotation(RFile.class); List fileEntityList = new ArrayList<>(); @@ -418,9 +429,7 @@ public class GetFile implements HandlerMethodArgumentResolver { if(fileEntityList.size() == 1){ return fileEntityList.get(0); } - return fileEntityList; - } @@ -449,8 +458,6 @@ public class GetFile implements HandlerMethodArgumentResolver { e.printStackTrace(); return false; } - } } -} - +} \ No newline at end of file