派生自 projectDept/qhighschool

Administrator
2022-12-06 92027c9960c8e4e8d84db11c2c422254a5b7d38c
src/main/java/com/qxueyou/scc/teach/res/service/impl/HweiYunOBSServiceImpl.java
@@ -1,29 +1,31 @@
package com.qxueyou.scc.teach.res.service.impl;
//import com.example.study.springboot.background.service.HweiYunOBSService;
//import com.example.study.springboot.config.HweiOBSConfig;
import com.obs.services.ObsClient;
import com.obs.services.exception.ObsException;
import com.obs.services.model.*;
import com.qxueyou.scc.base.model.FileMeta;
import com.qxueyou.scc.base.model.Result;
import com.qxueyou.scc.base.util.CollectionUtils;
import com.qxueyou.scc.base.util.QFileUtils;
import com.qxueyou.scc.base.util.UUIDUtils;
import com.qxueyou.scc.config.HweiOBSConfig;
import com.qxueyou.scc.teach.res.model.ResFile;
import com.qxueyou.scc.teach.res.service.HweiYunOBSService;
import com.qxueyou.scc.teach.res.service.IFileService;
import lombok.extern.slf4j.Slf4j;
import org.apache.catalina.core.ApplicationPart;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * @ClassName: HweiYunOBSServiceImpl
@@ -39,6 +41,9 @@
    private final Logger log = LogManager.getLogger(HweiYunOBSServiceImpl.class);
    @Autowired
    private HweiOBSConfig hweiOBSConfig;
    @Autowired
    FileService fileService;
    public final static String FILE_TYPE_VIDEO = "video";
@@ -65,7 +70,7 @@
            "JPG", FILE_TYPE_IMG,"JPEG", FILE_TYPE_IMG, "GIF", FILE_TYPE_IMG, "BMP", FILE_TYPE_IMG, "PNG", FILE_TYPE_IMG
    );
    @Override
    public boolean delete(String objectKey) {
        ObsClient obsClient = null;
@@ -81,7 +86,7 @@
        }
        return true;
    }
    @Override
    public boolean delete(List<String> objectKeys) {
        ObsClient obsClient = null;
@@ -99,10 +104,12 @@
        }
        return false;
    }
    @Override
    public String fileUpload(MultipartFile uploadFile, String objectKey) {
    public List<FileMeta> fileUpload(MultipartFile uploadFile, String objectKey) {
        ObsClient obsClient = null;
        List<FileMeta> files = new ArrayList<FileMeta>(2);
        FileMeta fileMeta = null;
        try {
            String destPath = getDestPath(objectKey);
            String bucketName = hweiOBSConfig.getBucketName();
@@ -127,10 +134,18 @@
            // 设置对象访问权限为公共读
            request.setAcl(AccessControlList.REST_CANNED_PUBLIC_READ);
            PutObjectResult result = obsClient.putObject(request);
            fileMeta = new FileMeta();
            ResFile file = fileService.insertFileToDBTwo(objectKey, uploadFile.getSize(), result.getObjectUrl(), uploadFile.getContentType());
            fileMeta.setFileId(file.getFileId());
            fileMeta.setPath(result.getObjectUrl());
            fileMeta.setFileSize(uploadFile.getSize() / 1024 + "kb");
            fileMeta.setFileType(uploadFile.getContentType());
            fileMeta.setFileName(objectKey);
            files.add(fileMeta);
            // 读取该已上传对象的URL
            log.info("已上传对象的URL" + result.getObjectUrl());
            return result.getObjectUrl();
            return files;
//            return result.getObjectUrl();
        } catch (ObsException e) {
            log.error("obs上传失败", e);
        } catch (IOException e) {
@@ -182,4 +197,4 @@
        }
        return null;
    }
}
}