From af47b774448bfa3ece4741664ce4d24128c8f629 Mon Sep 17 00:00:00 2001 From: fei <791364011@qq.com> Date: 星期一, 01 九月 2025 14:29:50 +0800 Subject: [PATCH] 新增了代码 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 92 insertions(+), 1 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java index ca90495..a38294e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/archive/DocumentMaterialsController.java @@ -2,13 +2,26 @@ +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; import java.util.List; +import javax.imageio.ImageIO; import javax.servlet.http.HttpServletResponse; +import com.drew.imaging.ImageMetadataReader; +import com.drew.metadata.Metadata; +import com.drew.metadata.exif.ExifIFD0Directory; +import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.file.FileUploadUtils; +import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.domain.DocumentMaterials; +import com.ruoyi.framework.config.ServerConfig; import com.ruoyi.service.IDocumentMaterialsService; +import com.sun.xml.internal.ws.api.addressing.WSEndpointReference; +import org.apache.commons.imaging.ImageInfo; +import org.apache.commons.imaging.Imaging; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -26,6 +39,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM; import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE; @@ -40,6 +54,9 @@ @RequestMapping("/system/materials") public class DocumentMaterialsController extends BaseController { + @Autowired + private ServerConfig serverConfig; + @Autowired private IDocumentMaterialsService documentMaterialsService; @@ -87,7 +104,9 @@ @PostMapping public AjaxResult add(@RequestBody DocumentMaterials documentMaterials) { - return toAjax(documentMaterialsService.insertDocumentMaterials(documentMaterials)); + int res = documentMaterialsService.insertDocumentMaterials(documentMaterials); + System.out.println(res+"][[[[[[[[[[[[[[[[[["); + return toAjax(res); } /** @@ -113,4 +132,76 @@ { return toAjax(documentMaterialsService.deleteDocumentMaterialsByMaterialIds(materialIds)); } + + public String getPageSize(double du) + { + if(du <= 8699840) + return "A4"; + else if(du <= 17403188) + return "A3"; + else if(du <= 34811347) + return "A2"; + else if(du <= 69622674) + return "A1"; + else + return "A0"; + } + + @PostMapping("/upload") + public AjaxResult uploadFile(MultipartFile file) throws Exception + { + // System.out.println("sdfd9999999999999999999999999999999"); + try + { + //鏍规嵁鏂囦欢鍚嶇О锛岀劧鍚庝慨鏀瑰搴旀暟鎹殑url + String fname = file.getOriginalFilename(); + +// System.out.println(fname); + // 涓婁紶鏂囦欢璺緞 + String filePath = RuoYiConfig.getUploadPath(); +// System.out.println(filePath); + // 涓婁紶骞惰繑鍥炴柊鏂囦欢鍚嶇О + String fileName = FileUploadUtils.upload(filePath, file); + String url = serverConfig.getUrl() + fileName; + AjaxResult ajax = AjaxResult.success(); + //鍒嗗壊鏂囦欢鍚� + String [] nams = fname.split("\\."); + Long nam = Long.parseLong(nams[0]); + //鏂囦欢鍚嶇О + String pname = nams[1]; + ajax.put("url", url); + //鎷垮埌鍥惧儚灞炴�� + BufferedImage bufferedImage = ImageIO.read(file.getInputStream()); + int wid = bufferedImage.getWidth(); + int hei = bufferedImage.getHeight(); + double sz = Double.parseDouble(String.format("%.2f", file.getSize()*1.0/1024)); + System.out.println(wid+":"+hei+":"+sz); + //鎷垮埌鍥惧儚鐨刣pi淇℃伅 + + ImageInfo info = Imaging.getImageInfo(file.getBytes()); + + + int wdpi = info.getPhysicalWidthDpi() ; + int hdpi = info.getPhysicalHeightDpi(); + System.out.println("DPI: " + info.getPhysicalWidthDpi()); + //璁$畻fileNumber + Long fileNumber = documentMaterialsService.getFiNum(nam); + //璁$畻sizeType + String sizeType = getPageSize(wid*hei); + //鎻掑叆鏁版嵁搴撳搴旂殑url褰撲腑 + documentMaterialsService.updateByPageNumber(nam, sizeType, fileNumber,wid, hei,wdpi, hdpi, sz, fileName, pname); +// System.out.println(url); +// System.out.println(fileName); + ajax.put("fileName", fileName); +// System.out.println(FileUtils.getName(fileName)); + ajax.put("newFileName", FileUtils.getName(fileName)); + ajax.put("originalFilename", file.getOriginalFilename()); + return ajax; + } + catch (Exception e) + { + System.out.println(e); + return AjaxResult.error(e.getMessage()); + } + } } -- Gitblit v1.9.1