diff --git a/file-common/pom.xml b/file-common/pom.xml
index 434f716..da8a36b 100644
--- a/file-common/pom.xml
+++ b/file-common/pom.xml
@@ -43,28 +43,12 @@
jjwt
0.9.1
-
-
-
-
-
-
-
-
-
-
-
com.github.tobato
fastdfs-client
1.26.2
-
- redis.clients
- jedis
- 3.0.1
-
diff --git a/file-common/src/main/java/com/qiwenshare/common/exception/UploadException.java b/file-common/src/main/java/com/qiwenshare/common/exception/UploadException.java
new file mode 100644
index 0000000..c83a7e1
--- /dev/null
+++ b/file-common/src/main/java/com/qiwenshare/common/exception/UploadException.java
@@ -0,0 +1,12 @@
+package com.qiwenshare.common.exception;
+
+public abstract class UploadException extends RuntimeException{
+
+ protected UploadException(String message) {
+ super(message);
+ }
+
+ protected UploadException(String message, Throwable cause) {
+ super(message, cause);
+ }
+}
diff --git a/file-common/src/main/java/com/qiwenshare/common/exception/UploadGeneralException.java b/file-common/src/main/java/com/qiwenshare/common/exception/UploadGeneralException.java
new file mode 100644
index 0000000..a974354
--- /dev/null
+++ b/file-common/src/main/java/com/qiwenshare/common/exception/UploadGeneralException.java
@@ -0,0 +1,16 @@
+package com.qiwenshare.common.exception;
+
+public class UploadGeneralException extends UploadException{
+
+ public UploadGeneralException(Throwable cause) {
+ super("上传出现了异常", cause);
+ }
+
+ public UploadGeneralException(String message) {
+ super(message);
+ }
+
+ public UploadGeneralException(String message, Throwable cause) {
+ super(message, cause);
+ }
+}
diff --git a/file-common/src/main/java/com/qiwenshare/common/upload/Uploader.java b/file-common/src/main/java/com/qiwenshare/common/upload/Uploader.java
index 8b01901..b9615a0 100644
--- a/file-common/src/main/java/com/qiwenshare/common/upload/Uploader.java
+++ b/file-common/src/main/java/com/qiwenshare/common/upload/Uploader.java
@@ -27,26 +27,7 @@ public abstract class Uploader {
protected StandardMultipartHttpServletRequest request = null;
public abstract List upload(HttpServletRequest request);
-//
-//
-// protected static TrackerServer trackerServer = null;
-//
-// protected static StorageServer storageServer = null;
-//
-// static {
-// try {
-// //String filePath = new ClassPathResource("fdfs_client.conf").getFile().getAbsolutePath();;
-// Properties properties = new Properties();
-// properties.setProperty("tracker_server ", "121.89.222.103");
-// properties.setProperty("http.tracker_http_port", "8090");
-// ClientGlobal.initByProperties(properties);
-// TrackerClient trackerClient = new TrackerClient();
-// trackerServer = trackerClient.getConnection();
-// storageServer = trackerClient.getStoreStorage(trackerServer);
-// } catch (Exception e) {
-// log.error("FastDFS Client Init Fail!",e);
-// }
-// }
+
/**
* 根据字符串创建本地目录 并按照日期建立子目录返回
*
diff --git a/file-common/src/main/java/com/qiwenshare/common/upload/product/AliyunOSSUploader.java b/file-common/src/main/java/com/qiwenshare/common/upload/product/AliyunOSSUploader.java
index 9414f6d..8d9518d 100644
--- a/file-common/src/main/java/com/qiwenshare/common/upload/product/AliyunOSSUploader.java
+++ b/file-common/src/main/java/com/qiwenshare/common/upload/product/AliyunOSSUploader.java
@@ -6,6 +6,7 @@ import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.*;
import com.qiwenshare.common.domain.AliyunOSS;
import com.qiwenshare.common.domain.UploadFile;
+import com.qiwenshare.common.exception.UploadGeneralException;
import com.qiwenshare.common.upload.Uploader;
import com.qiwenshare.common.util.FileUtil;
import com.qiwenshare.common.util.PathUtil;
@@ -63,38 +64,32 @@ public class AliyunOSSUploader extends Uploader {
bucketName = aliyunOSS.getBucketName();
boolean isMultipart = ServletFileUpload.isMultipartContent(this.request);
if (!isMultipart) {
- UploadFile uploadFile = new UploadFile();
- uploadFile.setSuccess(0);
- uploadFile.setMessage("未包含文件上传域");
- saveUploadFileList.add(uploadFile);
- return saveUploadFileList;
+ throw new UploadGeneralException("未包含文件上传域");
+// UploadFile uploadFile = new UploadFile();
+// uploadFile.setSuccess(0);
+// uploadFile.setMessage("未包含文件上传域");
+// saveUploadFileList.add(uploadFile);
+// return saveUploadFileList;
}
DiskFileItemFactory dff = new DiskFileItemFactory();//1、创建工厂
String savePath = getSaveFilePath();
dff.setRepository(new File(savePath));
- try {
- ServletFileUpload sfu = new ServletFileUpload(dff);//2、创建文件上传解析器
- sfu.setSizeMax(this.maxSize * 1024L);
- sfu.setHeaderEncoding("utf-8");//3、解决文件名的中文乱码
- Iterator iter = this.request.getFileNames();
- while (iter.hasNext()) {
+ ServletFileUpload sfu = new ServletFileUpload(dff);//2、创建文件上传解析器
+ sfu.setSizeMax(this.maxSize * 1024L);
+ sfu.setHeaderEncoding("utf-8");//3、解决文件名的中文乱码
+ Iterator iter = this.request.getFileNames();
+ while (iter.hasNext()) {
- saveUploadFileList = doUpload(savePath, iter);
- }
- } catch (IOException e) {
- UploadFile uploadFile = new UploadFile();
- uploadFile.setSuccess(1);
- uploadFile.setMessage("未知错误");
- saveUploadFileList.add(uploadFile);
- e.printStackTrace();
+ saveUploadFileList = doUpload(savePath, iter);
}
+
logger.info("结束上传");
return saveUploadFileList;
}
- private List doUpload(String savePath, Iterator iter) throws IOException {
+ private List doUpload(String savePath, Iterator iter) {
OSS ossClient = getClient();
List saveUploadFileList = new ArrayList<>();
@@ -174,6 +169,7 @@ public class AliyunOSSUploader extends Uploader {
} catch (Exception e) {
logger.error("上传出错:" + e);
+ throw new UploadGeneralException(e);
}
uploadFile.setIsOSS(1);
diff --git a/file-common/src/main/java/com/qiwenshare/common/upload/product/ChunkUploader.java b/file-common/src/main/java/com/qiwenshare/common/upload/product/ChunkUploader.java
index 36efb75..6e530dd 100644
--- a/file-common/src/main/java/com/qiwenshare/common/upload/product/ChunkUploader.java
+++ b/file-common/src/main/java/com/qiwenshare/common/upload/product/ChunkUploader.java
@@ -2,6 +2,7 @@ package com.qiwenshare.common.upload.product;
import com.qiwenshare.common.cbb.NotSameFileExpection;
import com.qiwenshare.common.domain.UploadFile;
+import com.qiwenshare.common.exception.UploadGeneralException;
import com.qiwenshare.common.operation.ImageOperation;
import com.qiwenshare.common.upload.Uploader;
import com.qiwenshare.common.util.FileUtil;
@@ -42,11 +43,12 @@ public class ChunkUploader extends Uploader {
this.request = (StandardMultipartHttpServletRequest) httpServletRequest;
boolean isMultipart = ServletFileUpload.isMultipartContent(this.request);
if (!isMultipart) {
- UploadFile uploadFile = new UploadFile();
- uploadFile.setSuccess(0);
- uploadFile.setMessage("未包含文件上传域");
- saveUploadFileList.add(uploadFile);
- return saveUploadFileList;
+ throw new UploadGeneralException("未包含文件上传域");
+// UploadFile uploadFile = new UploadFile();
+// uploadFile.setSuccess(0);
+// uploadFile.setMessage("未包含文件上传域");
+// saveUploadFileList.add(uploadFile);
+// return saveUploadFileList;
}
DiskFileItemFactory dff = new DiskFileItemFactory();//1、创建工厂
String savePath = getSaveFilePath();
@@ -61,11 +63,12 @@ public class ChunkUploader extends Uploader {
saveUploadFileList = doUpload(savePath, iter);
}
} catch (IOException e) {
- UploadFile uploadFile = new UploadFile();
- uploadFile.setSuccess(1);
- uploadFile.setMessage("未知错误");
- saveUploadFileList.add(uploadFile);
- e.printStackTrace();
+// UploadFile uploadFile = new UploadFile();
+// uploadFile.setSuccess(1);
+// uploadFile.setMessage("未知错误");
+// saveUploadFileList.add(uploadFile);
+// e.printStackTrace();
+ throw new UploadGeneralException("未包含文件上传域");
} catch (NotSameFileExpection notSameFileExpection) {
notSameFileExpection.printStackTrace();
}
diff --git a/file-common/src/main/java/com/qiwenshare/common/upload/product/FastDFSUploader.java b/file-common/src/main/java/com/qiwenshare/common/upload/product/FastDFSUploader.java
index af5c5cd..fc2a838 100644
--- a/file-common/src/main/java/com/qiwenshare/common/upload/product/FastDFSUploader.java
+++ b/file-common/src/main/java/com/qiwenshare/common/upload/product/FastDFSUploader.java
@@ -3,6 +3,7 @@ package com.qiwenshare.common.upload.product;
import com.github.tobato.fastdfs.domain.StorePath;
import com.github.tobato.fastdfs.service.AppendFileStorageClient;
import com.qiwenshare.common.domain.UploadFile;
+import com.qiwenshare.common.exception.UploadGeneralException;
import com.qiwenshare.common.upload.Uploader;
import com.qiwenshare.common.util.FileUtil;
import com.qiwenshare.common.util.PathUtil;
@@ -50,11 +51,12 @@ public class FastDFSUploader extends Uploader {
boolean isMultipart = ServletFileUpload.isMultipartContent(this.request);
if (!isMultipart) {
- UploadFile uploadFile = new UploadFile();
- uploadFile.setSuccess(0);
- uploadFile.setMessage("未包含文件上传域");
- saveUploadFileList.add(uploadFile);
- return saveUploadFileList;
+ throw new UploadGeneralException("未包含文件上传域");
+// UploadFile uploadFile = new UploadFile();
+// uploadFile.setSuccess(0);
+// uploadFile.setMessage("未包含文件上传域");
+// saveUploadFileList.add(uploadFile);
+// return saveUploadFileList;
}
DiskFileItemFactory dff = new DiskFileItemFactory();//1、创建工厂
String savePath = getSaveFilePath();
@@ -69,12 +71,13 @@ public class FastDFSUploader extends Uploader {
saveUploadFileList = doUpload(savePath, iter);
}
- } catch (IOException e) {
- UploadFile uploadFile = new UploadFile();
- uploadFile.setSuccess(1);
- uploadFile.setMessage("未知错误");
- saveUploadFileList.add(uploadFile);
- e.printStackTrace();
+ } catch (Exception e) {
+ throw new UploadGeneralException(e);
+// UploadFile uploadFile = new UploadFile();
+// uploadFile.setSuccess(1);
+// uploadFile.setMessage("未知错误");
+// saveUploadFileList.add(uploadFile);
+// e.printStackTrace();
}
log.info("结束上传");
@@ -83,16 +86,14 @@ public class FastDFSUploader extends Uploader {
- private List doUpload(String savePath, Iterator iter) throws IOException{
+ private List doUpload(String savePath, Iterator iter){
List saveUploadFileList = new ArrayList<>();
try {
MultipartFile multipartfile = this.request.getFile(iter.next());
- boolean uploadResult = uploadFileChunk(multipartfile);
- if (!uploadResult) {
+ uploadFileChunk(multipartfile);
- }
String timeStampName = getTimeStampName();
String originalName = multipartfile.getOriginalFilename();
@@ -122,7 +123,8 @@ public class FastDFSUploader extends Uploader {
}
} catch (Exception e) {
- log.error("上传出错:" + e);
+ throw new UploadGeneralException(e);
+// log.error("上传出错:" + e);
}
uploadFile.setIsOSS(1);
@@ -132,7 +134,7 @@ public class FastDFSUploader extends Uploader {
return saveUploadFileList;
}
- public boolean uploadFileChunk(MultipartFile multipartFile) {
+ public void uploadFileChunk(MultipartFile multipartFile) {
// 存储在fastdfs不带组的路径
// String noGroupPath = "";
@@ -150,7 +152,8 @@ public class FastDFSUploader extends Uploader {
// return false;
// }
if (lock != null && lock) {
- return false;
+ throw new UploadGeneralException("请求块锁失败");
+ //return false;
}
LOCK_MAP.put(uploadFile.getIdentifier(), true);
// 写入锁的当前拥有者
@@ -167,10 +170,12 @@ public class FastDFSUploader extends Uploader {
//此段代码保证顺序,如果满足条件则返回失败
if (uploadFile.getChunkNumber() < currentChunkInRedis) {
log.info("当前文件块已上传");
- return false;
+ throw new UploadGeneralException("当前文件块已上传");
+// return false;
} else if (uploadFile.getChunkNumber() > currentChunkInRedis) {
log.info("当前文件块需要等待上传,稍后请重试");
- return false;
+ throw new UploadGeneralException("当前文件块需要等待上传,稍后请重试");
+// return false;
}
log.info("***********开始上传第{}块**********", uploadFile.getChunkNumber());
@@ -190,12 +195,14 @@ public class FastDFSUploader extends Uploader {
if (storePath == null) {
CURRENT_UPLOAD_CHUNK_NUMBER.put(uploadFile.getIdentifier(), uploadFile.getChunkNumber());
log.info("获取远程文件路径出错");
- return false;
+ throw new UploadGeneralException("获取远程文件路径出错");
+// return false;
}
} catch (Exception e) {
CURRENT_UPLOAD_CHUNK_NUMBER.put(uploadFile.getIdentifier(), uploadFile.getChunkNumber());
log.error("初次上传远程文件出错", e);
- return false;
+ throw new UploadGeneralException("初次上传远程文件出错", e);
+// return false;
}
STORE_PATH.put(uploadFile.getIdentifier(), storePath.getPath());
@@ -207,7 +214,8 @@ public class FastDFSUploader extends Uploader {
if (path == null) {
log.error("无法获取已上传服务器文件地址");
CURRENT_UPLOAD_CHUNK_NUMBER.put(uploadFile.getIdentifier(), uploadFile.getChunkNumber());
- return false;
+ throw new UploadGeneralException("无法获取已上传服务器文件地址");
+// return false;
}
try {
Long alreadySize = UPLOADED_SIZE.get(uploadFile.getIdentifier());
@@ -220,12 +228,14 @@ public class FastDFSUploader extends Uploader {
} catch (Exception e) {
CURRENT_UPLOAD_CHUNK_NUMBER.put(uploadFile.getIdentifier(), uploadFile.getChunkNumber());
log.error("更新远程文件出错", e);
- return false;
+ throw new UploadGeneralException("更新远程文件出错", e);
+// return false;
}
}
} catch (Exception e) {
log.error("上传文件错误", e);
- return false;
+ throw new UploadGeneralException("上传文件错误", e);
+// return false;
}
} finally {
// 锁的当前拥有者才能释放块上传锁
@@ -235,6 +245,6 @@ public class FastDFSUploader extends Uploader {
}
}
log.info("***********第{}块上传成功**********", uploadFile.getChunkNumber());
- return true;
+// return true;
}
}
diff --git a/file-web/src/main/java/com/qiwenshare/file/controller/TaskController.java b/file-web/src/main/java/com/qiwenshare/file/controller/TaskController.java
index f3cc6f7..81a8d78 100644
--- a/file-web/src/main/java/com/qiwenshare/file/controller/TaskController.java
+++ b/file-web/src/main/java/com/qiwenshare/file/controller/TaskController.java
@@ -28,7 +28,7 @@ public class TaskController {
@Scheduled(cron = "0 0/1 * * * ?")
public void deleteFile() {
- log.info("111112");
+
LambdaQueryWrapper fileBeanLambdaQueryWrapper = new LambdaQueryWrapper<>();
fileBeanLambdaQueryWrapper.eq(FileBean::getPointCount, 0);
@@ -39,8 +39,7 @@ public class TaskController {
fileService.deleteLocalFile(fileBean);
fileService.removeById(fileBean.getFileId());
}
- fileService.remove(fileBeanLambdaQueryWrapper);
+// fileService.remove(fileBeanLambdaQueryWrapper);
- log.info("11111");
}
}