Browse Source

增加上传图片借口

feature/dangjian
zhangyuan 3 years ago
parent
commit
a63ea96e5f
  1. 49
      esua-epdc/epdc-module/epdc-oss/epdc-oss-client/src/main/java/com/elink/esua/epdc/enums/ItemStateCodeEnum.java
  2. 41
      esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/cloud/AbstractCloudStorageService.java
  3. 10
      esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/cloud/AliyunCloudStorageService.java
  4. 10
      esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/cloud/FastDFSCloudStorageService.java
  5. 10
      esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/cloud/LocalCloudStorageService.java
  6. 10
      esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/cloud/QcloudCloudStorageService.java
  7. 10
      esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/cloud/QiniuCloudStorageService.java
  8. 23
      esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/controller/OssController.java

49
esua-epdc/epdc-module/epdc-oss/epdc-oss-client/src/main/java/com/elink/esua/epdc/enums/ItemStateCodeEnum.java

@ -0,0 +1,49 @@
package com.elink.esua.epdc.enums;
/**
* 上诉照片类型
*
* @author zhy
* @date 2022/9/8 16:27
*/
public enum ItemStateCodeEnum {
JMZP("居民上报照片", "0"),
WGZP("网格办理照片", "1"),
SQZP("社区办理照片", "2"),
CZZP("处置照片", "3");
private String value;
private String name;
ItemStateCodeEnum(String value, String name) {
this.value = value;
this.name = name;
}
public static String getValueByCode(String code) {
ItemStateCodeEnum[] enums = ItemStateCodeEnum.values();
for (ItemStateCodeEnum anEnum : enums) {
if (anEnum.name.equals(code)) {
return anEnum.value;
}
}
return "处置照片";
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

41
esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/cloud/AbstractCloudStorageService.java

@ -44,6 +44,29 @@ public abstract class AbstractCloudStorageService {
return path + "." + suffix;
}
/**
* 文件路径
* @param prefix 前缀
* @param name 文件名
* @param suffix 后缀
* @return 返回上传路径
*/
public String getPath(String prefix, String name, String suffix) {
//生成uuid
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
if (StringUtils.isBlank(name)) {
name = uuid;
}
//文件路径
String path = DateUtils.format(new Date(), "yyyyMMdd") + "/" + uuid+ "/" + name;
if(StringUtils.isNotBlank(prefix)){
path = prefix + "/" + path;
}
return path + "." + suffix;
}
/**
* 文件上传
* @param data 文件字节数组
@ -52,6 +75,15 @@ public abstract class AbstractCloudStorageService {
*/
public abstract String upload(byte[] data, String path);
/**
* 文件上传
* @param data 文件字节数组
* @param name 文件名
* @param path 文件路径包含文件名
* @return 返回http地址
*/
public abstract String upload(byte[] data, String name, String path);
/**
* 文件上传
* @param data 文件字节数组
@ -76,4 +108,13 @@ public abstract class AbstractCloudStorageService {
*/
public abstract String uploadSuffix(InputStream inputStream, String suffix);
/**
* 文件上传
* @param inputStream 字节流
* @param name 文件名
* @param suffix 后缀
* @return 返回http地址
*/
public abstract String upload(InputStream inputStream, String name, String suffix);
}

10
esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/cloud/AliyunCloudStorageService.java

@ -35,6 +35,11 @@ public class AliyunCloudStorageService extends AbstractCloudStorageService {
return upload(new ByteArrayInputStream(data), path);
}
@Override
public String upload(byte[] data, String name, String suffix) {
return upload(data, getPath(config.getAliyunPrefix(), name, suffix));
}
@Override
public String upload(InputStream inputStream, String path) {
OSSClient client = new OSSClient(config.getAliyunEndPoint(), config.getAliyunAccessKeyId(),
@ -59,6 +64,11 @@ public class AliyunCloudStorageService extends AbstractCloudStorageService {
return upload(inputStream, getPath(config.getAliyunPrefix(), suffix));
}
@Override
public String upload(InputStream inputStream, String name, String suffix) {
return upload(inputStream, getPath(config.getAliyunPrefix(), name, suffix));
}
/**
* 下载阿里云oss服务器上的文件
*

10
esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/cloud/FastDFSCloudStorageService.java

@ -38,6 +38,11 @@ public class FastDFSCloudStorageService extends AbstractCloudStorageService {
return upload(new ByteArrayInputStream(data), path);
}
@Override
public String upload(byte[] data, String name, String suffix) {
return upload(data, getPath(config.getAliyunPrefix(), name, suffix));
}
@Override
public String upload(InputStream inputStream, String suffix) {
StorePath storePath;
@ -59,4 +64,9 @@ public class FastDFSCloudStorageService extends AbstractCloudStorageService {
public String uploadSuffix(InputStream inputStream, String suffix) {
return upload(inputStream, suffix);
}
@Override
public String upload(InputStream inputStream, String name, String suffix) {
return upload(inputStream, getPath(config.getAliyunPrefix(), name, suffix));
}
}

10
esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/cloud/LocalCloudStorageService.java

@ -35,6 +35,11 @@ public class LocalCloudStorageService extends AbstractCloudStorageService {
return upload(new ByteArrayInputStream(data), path);
}
@Override
public String upload(byte[] data, String name, String suffix) {
return upload(data, getPath(config.getAliyunPrefix(), name, suffix));
}
@Override
public String upload(InputStream inputStream, String path) {
File file = new File(config.getLocalPath() + File.separator + path);
@ -55,4 +60,9 @@ public class LocalCloudStorageService extends AbstractCloudStorageService {
public String uploadSuffix(InputStream inputStream, String suffix) {
return upload(inputStream, getPath(config.getLocalPrefix(), suffix));
}
@Override
public String upload(InputStream inputStream, String name, String suffix) {
return upload(inputStream, getPath(config.getAliyunPrefix(), name, suffix));
}
}

10
esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/cloud/QcloudCloudStorageService.java

@ -54,6 +54,11 @@ public class QcloudCloudStorageService extends AbstractCloudStorageService {
return upload(new ByteArrayInputStream(data), path);
}
@Override
public String upload(byte[] data, String name, String suffix) {
return upload(data, getPath(config.getAliyunPrefix(), name, suffix));
}
@Override
public String upload(InputStream inputStream, String path) {
try {
@ -85,4 +90,9 @@ public class QcloudCloudStorageService extends AbstractCloudStorageService {
public String uploadSuffix(InputStream inputStream, String suffix) {
return upload(inputStream, getPath(config.getQcloudPrefix(), suffix));
}
@Override
public String upload(InputStream inputStream, String name, String suffix) {
return upload(inputStream, getPath(config.getAliyunPrefix(), name, suffix));
}
}

10
esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/cloud/QiniuCloudStorageService.java

@ -60,6 +60,11 @@ public class QiniuCloudStorageService extends AbstractCloudStorageService {
return config.getQiniuDomain() + "/" + path;
}
@Override
public String upload(byte[] data, String name, String suffix) {
return upload(data, getPath(config.getAliyunPrefix(), name, suffix));
}
@Override
public String upload(InputStream inputStream, String path) {
try {
@ -79,4 +84,9 @@ public class QiniuCloudStorageService extends AbstractCloudStorageService {
public String uploadSuffix(InputStream inputStream, String suffix) {
return upload(inputStream, getPath(config.getQiniuPrefix(), suffix));
}
@Override
public String upload(InputStream inputStream, String name, String suffix) {
return upload(inputStream, getPath(config.getAliyunPrefix(), name, suffix));
}
}

23
esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/controller/OssController.java

@ -26,6 +26,7 @@ import com.elink.esua.epdc.dto.UploadDTO;
import com.elink.esua.epdc.dto.UploadFormDTO;
import com.elink.esua.epdc.dto.UploadToOssDTO;
import com.elink.esua.epdc.entity.OssEntity;
import com.elink.esua.epdc.enums.ItemStateCodeEnum;
import com.elink.esua.epdc.enums.OssTypeEnum;
import com.elink.esua.epdc.exception.ModuleErrorCode;
import com.elink.esua.epdc.remote.ParamsRemoteService;
@ -232,6 +233,7 @@ public class OssController {
uploadAll.setFileName(file.getOriginalFilename());
return new Result<UploadImgAllDTO>().ok(uploadAll);
}
/**
* 文件上传
*
@ -254,4 +256,25 @@ public class OssController {
uploadAll.setFileName(file.getOriginalFilename());
return new Result<UploadImgAllDTO>().ok(uploadAll);
}
/**
* 诉求上传
*
* @param file
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UploadDTO>
* @author zhy
* @date 2022/9/8 16:23
*/
@PostMapping("upload/{code}")
@ApiOperation(value = "上传文件")
public Result<UploadDTO> uploadByCode(@RequestParam("file") MultipartFile file, @PathVariable("code") String code) throws Exception {
if (file.isEmpty()) {
return new Result<UploadDTO>().error(ModuleErrorCode.UPLOAD_FILE_EMPTY);
}
String name = ItemStateCodeEnum.getValueByCode(code);
//上传文件
String extension = FilenameUtils.getExtension(file.getOriginalFilename());
String url = OssFactory.build().upload(file.getBytes(), name, extension);
return ossService.afterUpload(url, file.getSize());
}
}

Loading…
Cancel
Save