From 983bdb5b89932b38d08a11ad1eed6ea89d1597e1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: Mon, 29 Jan 2024 10:07:31 +0800
Subject: [PATCH] 更新
---
assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysCommonServiceImpl.java | 63 ++++++++++++++++++++++---------
1 files changed, 45 insertions(+), 18 deletions(-)
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysCommonServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysCommonServiceImpl.java
index 25f68bd..c957622 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysCommonServiceImpl.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/SysCommonServiceImpl.java
@@ -7,10 +7,9 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
+import sun.misc.BASE64Decoder;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
+import java.io.*;
import java.util.Date;
import java.util.UUID;
@@ -22,6 +21,9 @@
@Override
public UploadObjectVO uploadFile(MultipartFile file) {
+ if(file==null){
+ throw new ApiException("上传文件不能为空");
+ }
UploadObjectVO uploadObjectVO=doUpload(file);
return uploadObjectVO;
}
@@ -41,8 +43,10 @@
return true;
}
+ @Override
public UploadObjectVO doUpload(MultipartFile file){
- String filename=file.getOriginalFilename();
+ String originName=file.getOriginalFilename();
+ String filename=originName;
String subfix=filename.substring(filename.lastIndexOf("."));
filename= UUID.randomUUID().toString().replace("-","")+subfix;
String systemDir=System.getProperty("user.dir");
@@ -62,24 +66,47 @@
}
filePath=filePath.replace("\\","/");
UploadObjectVO uploadObjectVO=new UploadObjectVO().setFilename(filename)
- .setPath(filePath);
+ .setPath(filePath).setOriginName(originName);
return uploadObjectVO;
}
-
- public boolean checkImageType(String subfix){
- if(".jpg".equalsIgnoreCase(subfix)||
- ".jpeg".equalsIgnoreCase(subfix)||
- ".png".equalsIgnoreCase(subfix)||
- ".bmp".equalsIgnoreCase(subfix)||
- ".tif".equalsIgnoreCase(subfix)||
- ".jfif".equalsIgnoreCase(subfix)||
- ".webp".equalsIgnoreCase(subfix)||
- ".gif".equalsIgnoreCase(subfix)
- ){
- return true;
+ @Override
+ public UploadObjectVO doUpload(String imageBase64) {
+ String originName="";
+ String filename=originName;
+ String subfix=".png";
+ filename= UUID.randomUUID().toString().replace("-","")+subfix;
+ String systemDir=System.getProperty("user.dir");
+ String dateStr= DateUtil.format(new Date(),"yyyyMMdd");
+ String filePath=uploadPath+File.separator+dateStr;
+ File dirFile=new File(filePath);
+ if(!dirFile.exists()){
+ dirFile.mkdirs();
}
- return false;
+ filePath=filePath+File.separator+filename;
+ BASE64Decoder decoder = new BASE64Decoder();
+ try {
+ // Base64解码
+ byte[] bytes = decoder.decodeBuffer(imageBase64);
+ for (int i = 0; i < bytes.length; ++i) {
+ if (bytes[i] < 0) {// 调整异常数据
+ bytes[i] += 256;
+ }
+ }
+ // 生成jpeg图片
+ OutputStream out = new FileOutputStream(systemDir+File.separator+filePath);
+ out.write(bytes);
+ out.flush();
+ out.close();
+ } catch (FileNotFoundException e) {
+ throw new ApiException("找不到文件");
+ } catch (IOException e) {
+ throw new ApiException("发生错误,请联系管理员");
+ }
+ filePath=filePath.replace("\\","/");
+ UploadObjectVO uploadObjectVO=new UploadObjectVO().setFilename(filename)
+ .setPath(filePath).setOriginName(originName);
+ return uploadObjectVO;
}
}
--
Gitblit v1.9.2