src/main/java/com/lf/server/controller/show/ComprehensiveController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/helper/PathHelper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/service/all/CommonsFileuploadService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/service/all/UploadService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/service/data/UploaderService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/lf/server/controller/show/ComprehensiveController.java
@@ -5,16 +5,21 @@ import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.bd.DlgAgnpEntity; import com.lf.server.entity.data.MetaEntity; import com.lf.server.entity.data.MetaFileEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.service.data.UploaderService; import com.lf.server.service.show.ComprehensiveService; import com.lf.server.service.sys.TokenService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -25,6 +30,12 @@ @RestController @RequestMapping("/comprehensive") public class ComprehensiveController extends BaseController { @Autowired TokenService tokenService; @Autowired UploaderService uploaderService; @Autowired ComprehensiveService comprehensiveService; @@ -65,4 +76,27 @@ return fail(ex.getMessage(), null); } } @SysLog() @ApiOperation(value = "ä¸ä¼ Shpæä»¶è·åç¬¬ä¸æ¡è®°å½çWKT") @ResponseBody @PostMapping(value = "/uploadShp") public ResponseMsg<String> uploadShp(HttpServletRequest req, HttpServletResponse res) { try { UserEntity ue = tokenService.getCurrentUser(req); if (ue == null) { return fail("ç¨æ·æªç»å½", null); } MetaEntity me = new MetaEntity(); List<MetaFileEntity> list = uploaderService.uploadData(me, ue, req, res); if (list.size() == 0) { return fail("æ²¡ææ¾å°ä¸ä¼ æ°æ®", null); } return success(""); } catch (Exception ex) { return fail(ex.getMessage(), null); } } } src/main/java/com/lf/server/helper/PathHelper.java
@@ -119,10 +119,10 @@ /** * è·å临æ¶è·¯å¾ */ public String getTempPath() { String tempName = StringHelper.YMD_HM_FORMAT.format(new Date()); public String getTempPath(int id) { String tempName = StringHelper.YMD__FORMAT.format(new Date()); String tempPath = config.getTempPath(); String path = tempPath + File.separator + tempName; String path = tempPath + File.separator + tempName + id; File file = new File(path); if (!file.exists() && !file.isDirectory()) { src/main/java/com/lf/server/service/all/CommonsFileuploadService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,116 @@ package com.lf.server.service.all; import com.lf.server.entity.ctrl.FileInfo; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.PathHelper; import com.lf.server.helper.StringHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.tomcat.util.http.fileupload.FileItem; import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory; import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload; import org.apache.tomcat.util.http.fileupload.servlet.ServletRequestContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * CommonsFileuploadä¸ä¼ æå¡ * @author WWW */ @Service public class CommonsFileuploadService { @Autowired PathHelper pathHelper; private final static Log log = LogFactory.getLog(CommonsFileuploadService.class); public Object fileUpload(UserEntity ue, HttpServletRequest req, HttpServletResponse res) throws Exception { List<FileItem> items = getFileItem(req, res); return copeFileItems(ue, items, req); } /** * è·åæä»¶é¡¹ */ private List<FileItem> getFileItem(HttpServletRequest req, HttpServletResponse res) throws Exception { // å¤ç䏿乱ç é®é¢ req.setCharacterEncoding("utf-8"); // text/html;charset=utf-8 res.setContentType("application/json;charset=utf-8"); // æ£æ¥è¯·æ±æ¯/å¦ä¸ºmultipart/form-dataç±»å if (!ServletFileUpload.isMultipartContent(req)) { throw new RuntimeException("表åçenctype屿§ä¸æ¯multipart/form-dataç±»å"); } // å建ä¸ä¼ æéè¦ç两个对象ï¼ç£çæä»¶å¯¹è±¡+æä»¶ä¸ä¼ 对象 DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload sfu = new ServletFileUpload(factory); ServletRequestContext ctx = new ServletRequestContext(req); // 设置ç¼ç æ¹å¼ sfu.setHeaderEncoding("utf-8"); factory.setSizeThreshold(4096); // è·å表åä¸çæææ°æ®ä¿¡æ¯ List<FileItem> list = sfu.parseRequest(ctx); return list; } /** * å¤çè§£æå 容ï¼å¤çæ®é表åååæä»¶è¡¨åå */ private Object copeFileItems(UserEntity ue, List<FileItem> items, HttpServletRequest req) throws Exception { Map<String, String> map = new HashMap<String, String>(3); List<FileInfo> list = new ArrayList<FileInfo>(); String path = pathHelper.getTempPath(ue.getId()); for (FileItem item : items) { if (item.isFormField()) { String key = item.getFieldName(); String value = item.getString("utf-8"); map.put(key, value); continue; } FileInfo fi = copeFile(item, path, req); if (fi != null) { list.add(fi); } } return map; } /** * å¤çæä»¶ */ private FileInfo copeFile(FileItem item, String path, HttpServletRequest req) { try { // è·åæä»¶åï¼å¤ææ¯å¦åæ³ FileInfo fi = new FileInfo(item.getName()); if (StringHelper.isEmpty(fi.getFileName())) { return null; } fi.setSize(item.getSize()); fi.setPath(path + File.separator + fi.getFileName()); item.write(new File(fi.getPath())); return fi; } catch (Exception ex) { log.error(ex.getStackTrace()); return null; } } } src/main/java/com/lf/server/service/all/UploadService.java
@@ -55,7 +55,7 @@ // ä¼ è¾æä»¶ String oldName = file.getOriginalFilename(); String filePath = pathHelper.getTempPath() + File.separator + oldName; String filePath = pathHelper.getTempPath(ue.getId()) + File.separator + oldName; File newFile = new File(filePath); file.transferTo(newFile); double sizes = FileHelper.sizeToMb(file.getSize()); @@ -78,7 +78,7 @@ } catch (Exception ex) { return ctrl.fail(ex.getMessage(), null); } } } /** * è·åéä»¶å®ä½ç±» src/main/java/com/lf/server/service/data/UploaderService.java
@@ -1,6 +1,5 @@ package com.lf.server.service.data; import com.lf.server.entity.ctrl.FileInfo; import com.lf.server.entity.data.MetaFileEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.FileHelper; @@ -8,10 +7,6 @@ import com.lf.server.helper.StringHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.tomcat.util.http.fileupload.FileItem; import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory; import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload; import org.apache.tomcat.util.http.fileupload.servlet.ServletRequestContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -44,7 +39,7 @@ res.setContentType("application/json;charset=utf-8"); setEntity(t, req); List<MetaFileEntity> list = getFiles(req); List<MetaFileEntity> list = getFiles(ue, req); return list; } @@ -90,10 +85,10 @@ /** * è·åæä»¶ */ private List<MetaFileEntity> getFiles(StandardMultipartHttpServletRequest req) throws Exception { private List<MetaFileEntity> getFiles(UserEntity ue, StandardMultipartHttpServletRequest req) throws Exception { List<MetaFileEntity> list = new ArrayList<MetaFileEntity>(); String path = pathHelper.getTempPath(); String path = pathHelper.getTempPath(ue.getId()); Iterator<String> iterator = req.getFileNames(); while (iterator.hasNext()) { MultipartFile file = req.getFile(iterator.next()); @@ -114,88 +109,6 @@ } return list; } public Object fileUpload(HttpServletRequest req, HttpServletResponse res) throws Exception { List<FileItem> items = getFileItem(req, res); return copeFileItems(items, req); } /** * è·åæä»¶é¡¹ */ private List<FileItem> getFileItem(HttpServletRequest req, HttpServletResponse res) throws Exception { // å¤ç䏿乱ç é®é¢ req.setCharacterEncoding("utf-8"); // text/html;charset=utf-8 res.setContentType("application/json;charset=utf-8"); // æ£æ¥è¯·æ±æ¯/å¦ä¸ºmultipart/form-dataç±»å if (!ServletFileUpload.isMultipartContent(req)) { throw new RuntimeException("表åçenctype屿§ä¸æ¯multipart/form-dataç±»å"); } // å建ä¸ä¼ æéè¦ç两个对象ï¼ç£çæä»¶å¯¹è±¡+æä»¶ä¸ä¼ 对象 DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload sfu = new ServletFileUpload(factory); ServletRequestContext ctx = new ServletRequestContext(req); // 设置ç¼ç æ¹å¼ sfu.setHeaderEncoding("utf-8"); factory.setSizeThreshold(4096); // è·å表åä¸çæææ°æ®ä¿¡æ¯ List<FileItem> list = sfu.parseRequest(ctx); return list; } /** * å¤çè§£æå 容ï¼å¤çæ®é表åååæä»¶è¡¨åå */ private Object copeFileItems(List<FileItem> items, HttpServletRequest req) throws Exception { Map<String, String> map = new HashMap<String, String>(3); List<FileInfo> list = new ArrayList<FileInfo>(); String path = pathHelper.getTempPath(); for (FileItem item : items) { if (item.isFormField()) { String key = item.getFieldName(); String value = item.getString("utf-8"); map.put(key, value); continue; } FileInfo fi = copeFile(item, path, req); if (fi != null) { list.add(fi); } } return map; } /** * å¤çæä»¶ */ private FileInfo copeFile(FileItem item, String path, HttpServletRequest req) { try { // è·åæä»¶åï¼å¤ææ¯å¦åæ³ FileInfo fi = new FileInfo(item.getName()); if (StringHelper.isEmpty(fi.getFileName())) { return null; } fi.setSize(item.getSize()); fi.setPath(path + File.separator + fi.getFileName()); item.write(new File(fi.getPath())); return fi; } catch (Exception ex) { log.error(ex.getStackTrace()); return null; } } /**