From 09b4103133939c8562e1768018ad6d4e6f0d67c8 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期二, 18 十月 2022 09:23:21 +0800 Subject: [PATCH] 1 --- /dev/null | 50 ------------ src/main/java/com/lf/server/helper/StringHelper.java | 10 ++ src/main/java/com/lf/server/helper/GdalHelper.java | 16 +-- src/main/java/com/lf/server/controller/data/UploaderController.java | 40 ++++++++++ src/main/java/com/lf/server/helper/FileHelper.java | 10 ++ 说明.txt | 27 ++++-- src/main/java/com/lf/server/service/all/FileService.java | 65 +++++++++++++--- 7 files changed, 135 insertions(+), 83 deletions(-) diff --git a/src/main/java/com/lf/server/controller/data/UploaderController.java b/src/main/java/com/lf/server/controller/data/UploaderController.java new file mode 100644 index 0000000..cda26f5 --- /dev/null +++ b/src/main/java/com/lf/server/controller/data/UploaderController.java @@ -0,0 +1,40 @@ +package com.lf.server.controller.data; + +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.service.all.FileService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * 鏁版嵁涓婁紶 + * @author WWW + * @date 2022-10.17 + */ +@Api(tags = "鏁版嵁绠$悊\\鏁版嵁涓婁紶") +@RestController +@RequestMapping("/uploader") +public class UploaderController extends BaseController { + @Autowired + FileService fileService; + + @SysLog() + @ApiOperation(value = "涓婁紶鏁版嵁") + @ResponseBody + @PostMapping({"/uploadData"}) + public ResponseMsg<Object> uploadData(HttpServletRequest req, HttpServletResponse res) { + try { + fileService.uploadData(req, res); + + return success(""); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } +} diff --git a/src/main/java/com/lf/server/entity/ctrl/LayerDto.java b/src/main/java/com/lf/server/entity/ctrl/LayerDto.java deleted file mode 100644 index 2576c93..0000000 --- a/src/main/java/com/lf/server/entity/ctrl/LayerDto.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.lf.server.entity.ctrl; - -import java.util.List; -import java.util.Map; - -/** - * 鍥惧眰淇℃伅 - * @author WWW - */ -public class LayerDto { - private long count; - - private String layerName; - - private List<Map> list; - - private List<Map<String, String>> map; - - public long getCount() { - return count; - } - - public void setCount(long count) { - this.count = count; - } - - public String getLayerName() { - return layerName; - } - - public void setLayerName(String layerName) { - this.layerName = layerName; - } - - public List<Map> getList() { - return list; - } - - public void setList(List<Map> list) { - this.list = list; - } - - public List<Map<String, String>> getMap() { - return map; - } - - public void setMap(List<Map<String, String>> map) { - this.map = map; - } -} diff --git a/src/main/java/com/lf/server/helper/FileHelper.java b/src/main/java/com/lf/server/helper/FileHelper.java index 6781262..91a82d3 100644 --- a/src/main/java/com/lf/server/helper/FileHelper.java +++ b/src/main/java/com/lf/server/helper/FileHelper.java @@ -1,6 +1,7 @@ package com.lf.server.helper; import java.io.File; +import java.util.Date; /** * 鏂囦欢甯姪绫� @@ -132,4 +133,13 @@ return "application/octet-stream"; } } + + /** + * 鑾峰彇涓存椂璺緞 + * + * @return + */ + public static String getTempPath() { + return StringHelper.YMD_HM_FORMAT.format(new Date()); + } } diff --git a/src/main/java/com/lf/server/helper/GdalHelper.java b/src/main/java/com/lf/server/helper/GdalHelper.java index 48bffcb..d8df6fe 100644 --- a/src/main/java/com/lf/server/helper/GdalHelper.java +++ b/src/main/java/com/lf/server/helper/GdalHelper.java @@ -1,6 +1,5 @@ package com.lf.server.helper; -import com.lf.server.entity.ctrl.LayerDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.gdal.gdal.Band; @@ -154,14 +153,14 @@ } } - public static LayerDto getLayerDto(String filePath) { + public static void getLayerDto(String filePath) { org.gdal.ogr.Driver driver = ogr.GetDriverByName("OpenFileGDB"); if (driver == null) { - return null; + return; } + List<Map> list = new ArrayList<>(); List<Map<String, String>> mapList = new ArrayList<>(); - LayerDto layerDto = new LayerDto(); DataSource dataSource = null; try { dataSource = driver.Open(filePath, 0); @@ -208,10 +207,10 @@ feature.delete(); } while (true); } - layerDto.setLayerName(strlayerName); - layerDto.setList(list); - layerDto.setCount(count); - layerDto.setMap(mapList); + //layerDto.setLayerName(strlayerName); + //layerDto.setList(list); + //layerDto.setCount(count); + //layerDto.setMap(mapList); } } catch (Exception e) { e.printStackTrace(); @@ -220,7 +219,6 @@ dataSource.delete(); } } - return layerDto; } /** diff --git a/src/main/java/com/lf/server/helper/StringHelper.java b/src/main/java/com/lf/server/helper/StringHelper.java index d229fe0..6c538be 100644 --- a/src/main/java/com/lf/server/helper/StringHelper.java +++ b/src/main/java/com/lf/server/helper/StringHelper.java @@ -28,6 +28,16 @@ */ public static final SimpleDateFormat YMDHMS_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + /** + * 鏍煎紡鍖栧綋鍓嶇郴缁熸棩鏈� 3 + */ + public static final SimpleDateFormat YMD__FORMAT = new SimpleDateFormat("yyyyMMdd_"); + + /** + * 鏍煎紡鍖栧綋鍓嶇郴缁熸棩鏈� 4 + */ + public static final SimpleDateFormat YMD_HM_FORMAT = new SimpleDateFormat("yyyyMMdd_HHmm"); + public static final double D1024 = 1024.0; /** diff --git a/src/main/java/com/lf/server/service/all/FileService.java b/src/main/java/com/lf/server/service/all/FileService.java index a5d28e2..cca7864 100644 --- a/src/main/java/com/lf/server/service/all/FileService.java +++ b/src/main/java/com/lf/server/service/all/FileService.java @@ -31,6 +31,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.net.URLEncoder; +import java.util.Date; import java.util.List; import java.util.UUID; @@ -45,6 +46,14 @@ @Autowired AttachService attachService; + + private final static double D92 = 92; + + private final static long ONE_DAY = 24 * 60 * 60 * 1000; + + private final static long SIZE_MAX = 1024 * 1024 * 1024 * 1024; + + private final static long FILE_SIZE_MAX = 256 * 1024 * 1024 * 1024; private final static Log log = LogFactory.getLog(FileService.class); @@ -172,19 +181,16 @@ /** * 涓婁紶鏂囦欢 - * - * @param req - * @param res */ - public void upload(HttpServletRequest req, HttpServletResponse res) { + public void uploadData(HttpServletRequest req, HttpServletResponse res) { try { // 澶勭悊涓枃涔辩爜闂 req.setCharacterEncoding("utf-8"); res.setContentType("text/html;charset=utf-8"); - // 妫�鏌ヨ姹傛槸/鍚︽槸multipart/form-data绫诲瀷 + // 妫�鏌ヨ姹傛槸/鍚︿负multipart/form-data绫诲瀷 if (!ServletFileUpload.isMultipartContent(req)) { - throw new RuntimeException("琛ㄥ崟鐨別nctype灞炴�т笉鏄痬ultipart/form-data绫诲瀷锛侊紒"); + throw new RuntimeException("琛ㄥ崟鐨別nctype灞炴�т笉鏄痬ultipart/form-data绫诲瀷"); } // 鍒涘缓涓婁紶鎵�闇�瑕佺殑涓や釜瀵硅薄锛氱鐩樻枃浠跺璞�+鏂囦欢涓婁紶瀵硅薄 @@ -192,18 +198,15 @@ ServletFileUpload sfu = new ServletFileUpload(factory); ServletRequestContext ctx = new ServletRequestContext(req); - //闄愬埗鍗曚釜鏂囦欢鐨勫ぇ灏� - sfu.setFileSizeMax(1024 * 10); - - //闄愬埗涓婁紶鐨勬�绘枃浠跺ぇ灏� - sfu.setSizeMax(1024 * 200); - + // 闄愬埗涓婁紶鐨勬�绘枃浠跺ぇ灏� + sfu.setSizeMax(SIZE_MAX); + // 闄愬埗鍗曚釜鏂囦欢鐨勫ぇ灏� + sfu.setFileSizeMax(FILE_SIZE_MAX); // 璁剧疆缂栫爜鏂瑰紡 sfu.setHeaderEncoding("utf-8"); // list瀹瑰櫒鐢ㄦ潵淇濆瓨琛ㄥ崟涓殑鎵�鏈夋暟鎹俊鎭� List<FileItem> items = sfu.parseRequest(ctx); - // 閬嶅巻瀹瑰櫒锛屽鐞嗚В鏋愮殑鍐呭锛氫竴涓鐞嗘櫘閫氳〃鍗曞煙锛屼竴涓鐞嗘枃浠剁殑琛ㄥ崟鍩� for (FileItem item : items) { if (item.isFormField()) { @@ -281,4 +284,40 @@ e.printStackTrace(); } } + + + /** + * 鑾峰彇涓存椂璺緞 + */ + public String getTempPath() { + String tempName = FileHelper.getTempPath(); + String tempPath = pathHelper.getConfig().getTempPath(); + String path = tempPath + File.separator + tempName; + + File file = new File(path); + if (!file.exists() && !file.isDirectory()) { + file.mkdirs(); + } + + double ran = Math.random() * 99; + if (ran > D92) { + deleteOldPath(); + } + + return path; + } + + public void deleteOldPath() { + try { + Long time = System.currentTimeMillis(); + for (int i = 1, c = 30; i < c; i++) { + Date date = new Date(time - i * ONE_DAY); + String str = StringHelper.YMD__FORMAT.format(date); + + // + } + } catch (Exception ex) { + log.error(ex.getMessage() + ex.getStackTrace() + "\n"); + } + } } diff --git "a/\350\257\264\346\230\216.txt" "b/\350\257\264\346\230\216.txt" index 973635e..d535217 100644 --- "a/\350\257\264\346\230\216.txt" +++ "b/\350\257\264\346\230\216.txt" @@ -4,21 +4,24 @@ 3.鐧诲綍鏃剁殑鐢ㄦ埛鍚嶅拰瀵嗙爜浣跨敤RSA鍔犲瘑銆佽В瀵� 4.WebSocket鏈嶅姟 5.璧勬簮瀹炴椂鐩戞帶锛圕PU淇℃伅+鍐呭瓨淇℃伅+鍦ㄧ嚎鐢ㄦ埛+璧勬簮鐘舵�侊級 - -.淇敼鐢ㄦ埛瀵嗙爜鏃朵娇鐢∕D5+Salt瀵嗙爜 -.瑙e喅Swagger-UI鏃犳硶浼犻�扖ookie淇℃伅 -.瀵嗙爜澶嶆潅搴﹂獙璇�(8-20浣嶅寘鍚瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃) +6.鏂板缓鍜屼慨鏀圭敤鎴峰瘑鐮佹椂浣跨敤MD5鍔犲瘑 +7.瑙e喅Swagger-UI鏃犳硶浼犻�扖ookie淇℃伅 +8.楠岃瘉瀵嗙爜澶嶆潅搴�(8-20浣嶅寘鍚瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃) +----------------------------------------------- .鍚庡彴鏈嶅姟璁块棶娣诲姞鐧诲綍楠岃瘉鎷︽埅鍣� .寮�鍙戝垏闈㈡棩蹇楀姛鑳� .鏁版嵁搴撶洃鎺�(Druid Monitor)+鑷姩鐧诲綍 .涓嬭浇鏂囦欢骞惰缃甅IME绫诲瀷 - -1.Redis鏈嶅姟閰嶇疆寮哄瘑鐮侊紝SpringBoot鍚敤瀵嗙爜 -2.鎵归噺淇敼鐢ㄦ埛瀵嗙爜 -3.淇敼鎵�鏈夌殑鎵归噺鏂板銆佸垹闄ゃ�佷慨鏀规帴鍙� -4.浣跨敤GDAL璇诲彇tif銆乻hp銆乬db鏂囦欢 -5.5鍒嗛挓瀵嗙爜閿欒5娆℃嫆缁濈櫥褰� * << -6.涓婁紶鏂囦欢锛坈ommons-fileupload锛� * +.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 @@ -61,6 +64,8 @@ new String(Base64.getDecoder().decode(username)); +涓嬭浇锛歨ttp://127.0.0.1:12316/style/download?guid=15deb4e6bf02db827e39521758520fd5 + 浣跨敤Commons FileUpLoad缁勪欢瀹炵幇鏂囦欢涓婁紶鍔熻兘锛� https://www.itdaan.com/blog/2017/08/08/b2dbc1106fa7.html ---------------------------------------------------------------------------------------------------- -- Gitblit v1.9.3