forked from kidgrow-microservices-platform

克 刘
2020-06-08 2be38aabc8e20921057cbf4f5ba15c09ebce2bd8
扩展文件服务支持KidgrowAI 按医院/科室/日期/文件 方式存储
2 files modified
22 ■■■■■ changed files
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java 21 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml 1 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java
@@ -2,6 +2,7 @@
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.common.auth.DefaultCredentialProvider;
import com.kidgrow.common.constant.SecurityConstants;
import com.kidgrow.common.utils.DateUtil;
import com.kidgrow.filecenter.model.FileInfo;
import com.kidgrow.filecenter.properties.FileServerProperties;
@@ -13,6 +14,7 @@
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
/**
@@ -28,6 +30,8 @@
public class AliyunOSSAutoConfigure {
    @Autowired
    private FileServerProperties fileProperties;
    /**
     * 阿里云文件存储client
@@ -46,6 +50,9 @@
        @Autowired
        private OSSClient ossClient;
        @Autowired
        private HttpServletRequest httpServletRequest;
        @Override
        protected String fileType() {
            return fileProperties.getType();
@@ -53,9 +60,19 @@
        @Override
        protected void uploadFile(MultipartFile file, FileInfo fileInfo) throws Exception {
            String clientID= httpServletRequest.getHeader(SecurityConstants.CLIENT_HEADER);
            String folderByDate =DateUtil.formatDate(new Date());
            ossClient.putObject(fileProperties.getOss().getBucketName(), fileProperties.getOss().getFolder()+ folderByDate+"/"+fileInfo.getName(), file.getInputStream());
            fileInfo.setUrl(fileProperties.getOss().getDomain() + fileProperties.getOss().getFolder()+ folderByDate+"/" + fileInfo.getName());
            if(clientID=="hospital"){//医院端平台,根据医院ID,科室ID进行OSS存储
                String orgID=httpServletRequest.getHeader(SecurityConstants.USER_ORG_ID_HEADER);
                String depID=httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER);
                String fileFolder="KidgrowAI/"+orgID+"/"+depID+"/";
                ossClient.putObject(fileProperties.getOss().getBucketName(), fileFolder + folderByDate + "/" + fileInfo.getName(), file.getInputStream());
                fileInfo.setUrl(fileProperties.getOss().getDomain() + fileFolder + folderByDate + "/" + fileInfo.getName());
            }
            else {
                ossClient.putObject(fileProperties.getOss().getBucketName(), fileProperties.getOss().getFolder() + folderByDate + "/" + fileInfo.getName(), file.getInputStream());
                fileInfo.setUrl(fileProperties.getOss().getDomain() + fileProperties.getOss().getFolder() + folderByDate + "/" + fileInfo.getName());
            }
        }
        @Override
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml
@@ -59,6 +59,7 @@
      #注意加上/
      domain: https://kidgrow.oss-accelerate.aliyuncs.com/
      folder: kidgrow/
  swagger:
    base-package: com.kidgrow.filecenter.controller
    description: 文件上传服务接口文档