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/controller/data/StyleController.java | 4 +- src/main/java/com/lf/server/controller/data/UploaderController.java | 17 +++++++- src/main/java/com/lf/server/service/data/UploaderService.java | 81 +++++++++++++++++++++++++++++++++------- 说明.txt | 6 ++- src/main/java/com/lf/server/controller/sys/ResController.java | 4 +- 5 files changed, 89 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/lf/server/controller/data/StyleController.java b/src/main/java/com/lf/server/controller/data/StyleController.java index 6dc1153..c2109ff 100644 --- a/src/main/java/com/lf/server/controller/data/StyleController.java +++ b/src/main/java/com/lf/server/controller/data/StyleController.java @@ -253,7 +253,7 @@ @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body") }) @GetMapping(value = "/download") - public void download(String guid, HttpServletRequest req, HttpServletResponse res) { - uploaderService.download(guid, req, res, this); + public void download(String guid, HttpServletResponse res) { + uploaderService.download(guid, res); } } diff --git a/src/main/java/com/lf/server/controller/data/UploaderController.java b/src/main/java/com/lf/server/controller/data/UploaderController.java index 761e753..e6969af 100644 --- a/src/main/java/com/lf/server/controller/data/UploaderController.java +++ b/src/main/java/com/lf/server/controller/data/UploaderController.java @@ -3,7 +3,10 @@ import com.lf.server.aspect.SysLog; import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.sys.UserEntity; import com.lf.server.service.data.UploaderService; +import com.lf.server.service.sys.TokenService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -15,7 +18,7 @@ /** * 鏁版嵁涓婁紶 * @author WWW - * @date 2022-10.17 + * @date 2022-10-17 */ @Api(tags = "鏁版嵁绠$悊\\鏁版嵁涓婁紶") @RestController @@ -24,13 +27,21 @@ @Autowired UploaderService uploaderService; + @Autowired + TokenService tokenService; + @SysLog() @ApiOperation(value = "涓婁紶鏁版嵁") @ResponseBody - @PostMapping({"/uploadData"}) + @PostMapping(value = "/uploadData") public ResponseMsg<Object> uploadData(HttpServletRequest req, HttpServletResponse res) { try { - Object obj = uploaderService.uploadData(req, res); + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); + } + + Object obj = uploaderService.uploadData(ue, req, res); return success(obj); } catch (Exception ex) { diff --git a/src/main/java/com/lf/server/controller/sys/ResController.java b/src/main/java/com/lf/server/controller/sys/ResController.java index a9dc82e..deaa943 100644 --- a/src/main/java/com/lf/server/controller/sys/ResController.java +++ b/src/main/java/com/lf/server/controller/sys/ResController.java @@ -275,7 +275,7 @@ @ApiImplicitParam(name = "guid", value = "闄勪欢Guid", dataType = "String", paramType = "body") }) @GetMapping(value = "/download") - public void download(String guid, HttpServletRequest req, HttpServletResponse res) { - uploaderService.download(guid, req, res, this); + public void download(String guid, HttpServletResponse res) { + uploaderService.download(guid, res); } } 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; diff --git "a/\350\257\264\346\230\216.txt" "b/\350\257\264\346\230\216.txt" index d535217..4d02d07 100644 --- "a/\350\257\264\346\230\216.txt" +++ "b/\350\257\264\346\230\216.txt" @@ -7,21 +7,23 @@ 6.鏂板缓鍜屼慨鏀圭敤鎴峰瘑鐮佹椂浣跨敤MD5鍔犲瘑 7.瑙e喅Swagger-UI鏃犳硶浼犻�扖ookie淇℃伅 8.楠岃瘉瀵嗙爜澶嶆潅搴�(8-20浣嶅寘鍚瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃) +9.浣跨敤GDAL璇诲彇tif銆乻hp銆乬db鏂囦欢 ----------------------------------------------- .鍚庡彴鏈嶅姟璁块棶娣诲姞鐧诲綍楠岃瘉鎷︽埅鍣� .寮�鍙戝垏闈㈡棩蹇楀姛鑳� -.鏁版嵁搴撶洃鎺�(Druid Monitor)+鑷姩鐧诲綍 +.娣诲姞鏁版嵁搴撶洃鎺у姛鑳�(Druid Monitor) .涓嬭浇鏂囦欢骞惰缃甅IME绫诲瀷 .5鍒嗛挓瀵嗙爜閿欒5娆℃嫆缁濈櫥褰� .Redis鏈嶅姟閰嶇疆寮哄瘑鐮� .娣诲姞鎵归噺淇敼鐢ㄦ埛瀵嗙爜鎺ュ彛 .淇敼鎵�鏈夌殑鎵归噺鏂板銆佸垹闄ゃ�佷慨鏀规帴鍙� -.浣跨敤GDAL璇诲彇tif銆乻hp銆乬db鏂囦欢 + ----------------------------------------------- 1.涓婁紶鏂囦欢锛坈ommons-fileupload锛� * 2.瀵圭敤鎴枫�佽彍鍗曘�佽鑹层�佽祫婧愯繘琛屾巿鏉� 3.娣诲姞鏌ヨ瑙掕壊銆佽彍鍗曘�佽祫婧愭潈闄愭帴鍙� 4.鎺ュ彛搴旂敤鑿滃崟鏉冮檺 + ---------------------------------------------------------------------------------------------------- java 璋冪敤gdal璇诲彇gdb鏁版嵁锛宭inux涓媕ava璋冪敤gdal锛� https://blog.csdn.net/weixin_53853459/article/details/120954597 -- Gitblit v1.9.3