src/main/java/com/lf/server/controller/data/UploaderController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/entity/ctrl/LayerDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/helper/FileHelper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/helper/GdalHelper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/helper/StringHelper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/service/all/FileService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
说明.txt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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); } } } src/main/java/com/lf/server/entity/ctrl/LayerDto.java
ÎļþÒÑɾ³ý 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()); } } 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; } /** 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; /** 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("表åçenctype屿§ä¸æ¯multipart/form-dataç±»åï¼ï¼"); throw new RuntimeException("表åçenctype屿§ä¸æ¯multipart/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"); } } } ˵Ã÷.txt
@@ -4,21 +4,24 @@ 3.ç»å½æ¶çç¨æ·ååå¯ç 使ç¨RSAå å¯ãè§£å¯ 4.WebSocketæå¡ 5.èµæºå®æ¶çæ§ï¼CPUä¿¡æ¯+å åä¿¡æ¯+å¨çº¿ç¨æ·+èµæºç¶æï¼ .ä¿®æ¹ç¨æ·å¯ç æ¶ä½¿ç¨MD5+Saltå¯ç .è§£å³Swagger-UIæ æ³ä¼ éCookieä¿¡æ¯ .å¯ç å¤æåº¦éªè¯(8-20ä½å å«åæ¯ãæ°ååç¹æ®å符) 6.æ°å»ºåä¿®æ¹ç¨æ·å¯ç æ¶ä½¿ç¨MD5å å¯ 7.è§£å³Swagger-UIæ æ³ä¼ éCookieä¿¡æ¯ 8.éªè¯å¯ç å¤æåº¦(8-20ä½å å«åæ¯ãæ°ååç¹æ®å符) ----------------------------------------------- .åå°æå¡è®¿é®æ·»å ç»å½éªè¯æ¦æªå¨ .å¼åå颿¥å¿åè½ .æ°æ®åºçæ§(Druid Monitor)+èªå¨ç»å½ .ä¸è½½æä»¶å¹¶è®¾ç½®MIMEç±»å 1.Redisæå¡é 置强å¯ç ï¼SpringBootå¯ç¨å¯ç 2.æ¹éä¿®æ¹ç¨æ·å¯ç 3.ä¿®æ¹ææçæ¹éæ°å¢ãå é¤ãä¿®æ¹æ¥å£ 4.使ç¨GDAL读åtifãshpãgdbæä»¶ 5.5åéå¯ç é误5次æç»ç»å½ * << 6.ä¸ä¼ æä»¶ï¼commons-fileuploadï¼ * .5åéå¯ç é误5次æç»ç»å½ .Redisæå¡é 置强å¯ç .æ·»å æ¹éä¿®æ¹ç¨æ·å¯ç æ¥å£ .ä¿®æ¹ææçæ¹éæ°å¢ãå é¤ãä¿®æ¹æ¥å£ .使ç¨GDAL读åtifãshpãgdbæä»¶ ----------------------------------------------- 1.ä¸ä¼ æä»¶ï¼commons-fileuploadï¼ * 2.å¯¹ç¨æ·ãèåãè§è²ãèµæºè¿è¡ææ 3.æ·»å æ¥è¯¢è§è²ãèåãèµæºæéæ¥å£ 4.æ¥å£åºç¨èåæé ---------------------------------------------------------------------------------------------------- java è°ç¨gdal读ågdbæ°æ®ï¼linuxä¸javaè°ç¨gdalï¼ https://blog.csdn.net/weixin_53853459/article/details/120954597 @@ -61,6 +64,8 @@ new String(Base64.getDecoder().decode(username)); ä¸è½½ï¼http://127.0.0.1:12316/style/download?guid=15deb4e6bf02db827e39521758520fd5 使ç¨Commons FileUpLoadç»ä»¶å®ç°æä»¶ä¸ä¼ åè½ï¼ https://www.itdaan.com/blog/2017/08/08/b2dbc1106fa7.html ----------------------------------------------------------------------------------------------------