From b1f4fd76dbc3eaafe9296fe35b28b4e65510e367 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 19 十月 2022 09:16:45 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/service/data/UploaderService.java | 81 +++++++++++++++++++++++++++++++++------- 1 files changed, 67 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/lf/server/service/data/UploaderService.java b/src/main/java/com/lf/server/service/data/UploaderService.java index 96a9b71..2eee3fe 100644 --- a/src/main/java/com/lf/server/service/data/UploaderService.java +++ b/src/main/java/com/lf/server/service/data/UploaderService.java @@ -6,6 +6,8 @@ import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.all.SettingData; import com.lf.server.entity.ctrl.FileInfo; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.data.MetaFileEntity; import com.lf.server.entity.sys.AttachEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.FileHelper; @@ -31,7 +33,9 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.lang.reflect.Field; import java.net.URLEncoder; +import java.sql.Timestamp; import java.util.*; /** @@ -89,6 +93,9 @@ } } + /** + * 鑾峰彇鏂囦欢 MD5 鐮� + */ private String getFileMd5(String filePath) throws IOException { FileInputStream fileStream = new FileInputStream(filePath); String md5 = DigestUtils.md5Hex(fileStream); @@ -97,6 +104,9 @@ return md5; } + /** + * 鑾峰彇闄勪欢瀹炰綋绫� + */ protected AttachEntity getAttachEntity(UserEntity ue, String tab, String oldName, String md5, long sizes) { AttachEntity entity = new AttachEntity(); entity.setName(oldName); @@ -115,7 +125,7 @@ /** * 涓嬭浇鏂囦欢 */ - public void download(String guid, HttpServletRequest req, HttpServletResponse res, BaseController ctrl) { + public void download(String guid, HttpServletResponse res) { try { if (StringHelper.isEmpty(guid)) { WebHelper.write2Page(res, NO_FILE); @@ -158,6 +168,9 @@ } } + /** + * 璁剧疆涓嬭浇鍝嶅簲淇℃伅 + */ private void setDownloadResponse(AttachEntity entity, HttpServletResponse res) throws IOException { String fileName = URLEncoder.encode(entity.getName(), "UTF-8"); @@ -175,15 +188,54 @@ /** * 涓婁紶鏂囦欢 */ - public Object uploadData(HttpServletRequest request, HttpServletResponse res) throws Exception { + public Object uploadData(UserEntity ue, HttpServletRequest request, HttpServletResponse res) throws Exception { StandardMultipartHttpServletRequest req = (StandardMultipartHttpServletRequest) request; req.setCharacterEncoding("utf-8"); res.setContentType("application/json;charset=utf-8"); - Map<String, String> map = getParams(req); - List<FileInfo> list = getFiles(req); + MetaEntity me = getMetaEntity(req); + List<MetaFileEntity> list = getFiles(req); + // return list.size(); + } + + private MetaEntity getMetaEntity(StandardMultipartHttpServletRequest req) { + MetaEntity me = new MetaEntity(); + + Enumeration<String> enumeration = req.getParameterNames(); + while (enumeration.hasMoreElements()) { + String key = enumeration.nextElement(); + + try { + Field field = me.getClass().getDeclaredField(key); + if (field != null) { + field.setAccessible(true); + String value = req.getParameter(key); + switch (field.getType().toString()) { + case "class java.lang.String": + field.set(me, value); + break; + case "long": + field.set(me, Long.valueOf(value)); + break; + case "int": + field.set(me, Integer.valueOf(value)); + break; + case "class java.sql.Timestamp": + field.set(me, Timestamp.valueOf(value)); + break; + default: + field.set(me, value); + break; + } + } + } catch (Exception ex) { + // + } + } + + return me; } /** @@ -207,25 +259,26 @@ /** * 鑾峰彇鏂囦欢 */ - private List<FileInfo> getFiles(StandardMultipartHttpServletRequest req) throws Exception { - List<FileInfo> list = new ArrayList<FileInfo>(); + private List<MetaFileEntity> getFiles(StandardMultipartHttpServletRequest req) throws Exception { + List<MetaFileEntity> list = new ArrayList<MetaFileEntity>(); String path = pathHelper.getTempPath(); Iterator<String> iterator = req.getFileNames(); while (iterator.hasNext()) { MultipartFile file = req.getFile(iterator.next()); - - FileInfo fi = new FileInfo(file.getOriginalFilename()); - if (StringHelper.isEmpty(fi.getFileName())) { + if (StringHelper.isEmpty(file.getOriginalFilename())) { continue; } - fi.setSize(file.getSize()); - fi.setPath(path + File.separator + fi.getFileName()); - file.transferTo(new File(fi.getPath())); - fi.setMd5(getFileMd5(fi.getPath())); + MetaFileEntity mf = new MetaFileEntity(); + mf.setName(file.getOriginalFilename()); + mf.setSizes(file.getSize()); + mf.setPath(path + File.separator + mf.getName()); - list.add(fi); + file.transferTo(new File(mf.getPath())); + mf.setGuid(getFileMd5(mf.getPath())); + + list.add(mf); } return list; -- Gitblit v1.9.3