diff --git a/epmet-module/epmet-oss/epmet-oss-server/pom.xml b/epmet-module/epmet-oss/epmet-oss-server/pom.xml
index b73264233b..ffb777fe7c 100644
--- a/epmet-module/epmet-oss/epmet-oss-server/pom.xml
+++ b/epmet-module/epmet-oss/epmet-oss-server/pom.xml
@@ -92,6 +92,10 @@
fastdfs-client
${fastdfs.version}
+
+ org.springframework
+ spring-test
+
diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java
index 8eb6fb6eba..fd4002d57b 100644
--- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java
+++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java
@@ -11,6 +11,7 @@ package com.epmet.cloud;
import com.epmet.commons.tools.utils.DateUtils;
import org.apache.commons.lang3.StringUtils;
+import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.UUID;
@@ -75,4 +76,10 @@ public abstract class AbstractCloudStorageService {
*/
public abstract String uploadSuffix(InputStream inputStream, String suffix);
+ /**
+ * 文件下载
+ * sun
+ */
+ public abstract void down() throws IOException;
+
}
diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java
index e3c3850bff..e55449ad0f 100644
--- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java
+++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java
@@ -9,10 +9,13 @@
package com.epmet.cloud;
import com.aliyun.oss.OSSClient;
+import com.aliyun.oss.model.DownloadFileRequest;
+import com.aliyun.oss.model.DownloadFileResult;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.exception.ModuleErrorCode;
import java.io.ByteArrayInputStream;
+import java.io.IOException;
import java.io.InputStream;
/**
@@ -54,4 +57,55 @@ public class AliyunCloudStorageService extends AbstractCloudStorageService {
public String uploadSuffix(InputStream inputStream, String suffix) {
return upload(inputStream, getPath(config.getAliyunPrefix(), suffix));
}
+
+ @Override
+ public void down() throws IOException {
+ OSSClient client = new OSSClient(config.getAliyunEndPoint(), config.getAliyunAccessKeyId(),
+ config.getAliyunAccessKeySecret());
+ try {
+
+ /*
+ //方式一
+ File file = new File("C:/Users/Administrator/Desktop/dd/df.jpg");
+ client.getObject(new GetObjectRequest(config.getAliyunBucketName(), "epmet/test/20201103/198f3c11490a44eb964c5c8e9989a507.jpg"), file);*/
+
+ /*
+ //方式二
+ OSSObject oo = client.getObject(config.getAliyunBucketName(), path);
+ InputStream is = oo.getObjectContent();
+ OutputStream os = null;
+ File file = new File("C:/Users/Administrator/Desktop/dd/aa.jpg");
+ try {
+ os = new FileOutputStream(file);
+ int len = 0;
+ byte[] buffer = new byte[8192];
+ while ((len = is.read(buffer)) != -1) {
+ os.write(buffer, 0, len);
+ }
+ } finally {
+ os.close();
+ is.close();
+ }*/
+
+ //方式三
+ DownloadFileRequest downloadFileRequest = new DownloadFileRequest(config.getAliyunBucketName(), "epmet/test/20201103/198f3c11490a44eb964c5c8e9989a507.jpg");
+ downloadFileRequest.setDownloadFile("C:/Users/Administrator/Desktop/dd/4.jpg");// 本地下载文件名称
+ downloadFileRequest.setPartSize(1 * 1024 * 1024);// 分片大小,取值范围为1B~5GB。
+ downloadFileRequest.setTaskNum(10);//10个任务并发下载,默认值为1
+ downloadFileRequest.setEnableCheckpoint(true);// 启动断点续传
+ // 下载文件
+ DownloadFileResult downloadRes = client.downloadFile(downloadFileRequest);
+ // 下载成功时,会返回文件元信息。
+ downloadRes.getObjectMetadata();
+
+ // 关闭OSSClient。
+ client.shutdown();
+ } catch (Exception e){
+ throw new RenException(ModuleErrorCode.OSS_UPLOAD_FILE_ERROR, e, "");
+ } catch (Throwable throwable) {
+ throwable.printStackTrace();
+ }
+
+ }
+
}
diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java
index eef3d53171..9661e5f054 100644
--- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java
+++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java
@@ -15,6 +15,7 @@ import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.exception.ModuleErrorCode;
import java.io.ByteArrayInputStream;
+import java.io.IOException;
import java.io.InputStream;
/**
@@ -59,4 +60,9 @@ public class FastDFSCloudStorageService extends AbstractCloudStorageService {
public String uploadSuffix(InputStream inputStream, String suffix) {
return upload(inputStream, suffix);
}
+
+ @Override
+ public void down() throws IOException {
+
+ }
}
diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java
index 211736c173..71c17580c5 100644
--- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java
+++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java
@@ -53,4 +53,9 @@ public class LocalCloudStorageService extends AbstractCloudStorageService {
public String uploadSuffix(InputStream inputStream, String suffix) {
return upload(inputStream, getPath(config.getLocalPrefix(), suffix));
}
+
+ @Override
+ public void down() throws IOException {
+
+ }
}
diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java
index 03376f75eb..22d7da2219 100644
--- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java
+++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java
@@ -83,4 +83,9 @@ public class QcloudCloudStorageService extends AbstractCloudStorageService {
public String uploadSuffix(InputStream inputStream, String suffix) {
return upload(inputStream, getPath(config.getQcloudPrefix(), suffix));
}
+
+ @Override
+ public void down() throws IOException {
+
+ }
}
diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java
index 3c51425619..0fa9ee9f7e 100644
--- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java
+++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java
@@ -77,4 +77,9 @@ public class QiniuCloudStorageService extends AbstractCloudStorageService {
public String uploadSuffix(InputStream inputStream, String suffix) {
return upload(inputStream, getPath(config.getQiniuPrefix(), suffix));
}
+
+ @Override
+ public void down() throws IOException {
+
+ }
}
diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java
index 5b3e3bee6b..65cf6b2d2d 100644
--- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java
+++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java
@@ -31,12 +31,17 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FilenameUtils;
+import org.apache.http.entity.ContentType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
+import org.springframework.mock.web.MockMultipartFile;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.Arrays;
import java.util.Map;
@@ -218,4 +223,18 @@ public class OssController {
return ossService.uploadImg(file);
}
+ /**
+ * @param byteFile fileName
+ * @Description 外挂-文件上传
+ * @Author sun
+ **/
+ @PostMapping("ext/upload")
+ public Result extUpload(@RequestParam("byteFile") byte[] byteFile, @RequestParam("fileName") String fileName) throws IOException {
+ //public Result extUpload(@RequestParam("file") MultipartFile file, @RequestParam("fileName") String fileName) throws IOException {
+ //byte[] byteFile = file.getBytes();
+ InputStream inputStream = new ByteArrayInputStream(byteFile);
+ MultipartFile filse = new MockMultipartFile(ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream);
+ return ossService.extUpload(filse,fileName);
+ }
+
}
diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java
index 2195e4f0f1..c67fec06f2 100644
--- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java
+++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java
@@ -29,4 +29,6 @@ public interface OssService extends BaseService {
int insertOssEntity(OssEntity ossEntity);
Result uploadImg(MultipartFile file);
+
+ Result extUpload(MultipartFile file, String fileName);
}
diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java
index 6ca5626490..cc44456c7e 100644
--- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java
+++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java
@@ -72,4 +72,36 @@ public class OssServiceImpl extends BaseServiceImpl implement
dto.setUrl(url);
return new Result().ok(dto);
}
+
+ @Override
+ public Result extUpload(MultipartFile file, String fileName) {
+ try {
+ OssFactory.build().down();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ if (file.isEmpty()) {
+ return new Result().error(ModuleErrorCode.UPLOAD_FILE_EMPTY);
+ }
+ //上传文件
+ String extension = FilenameUtils.getExtension(fileName);
+ String url = null;
+ try {
+ url = OssFactory.build().uploadSuffix(file.getBytes(), extension);
+ } catch (IOException e) {
+ e.printStackTrace();
+ logger.error("图片上传异常");
+ throw new RenException("图片上传异常");
+
+ }
+ //保存文件信息
+ OssEntity ossEntity = new OssEntity();
+ ossEntity.setUrl(url);
+ baseDao.insert(ossEntity);
+ //文件信息
+ UploadImgResultDTO dto = new UploadImgResultDTO();
+ dto.setUrl(url);
+ return new Result().ok(dto);
+ }
}