派生自 projectDept/qhighschool

胡仁荣
2023-08-24 3df8c0bb68eb5f3ae477abd5a45700b856c48b9d
oss分块上传
2个文件已修改
113 ■■■■■ 已修改文件
src/main/java/com/qxueyou/scc/base/model/CacheConstants.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/qxueyou/scc/controller/HweiYunOBSController.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/qxueyou/scc/base/model/CacheConstants.java
@@ -1,6 +1,10 @@
package com.qxueyou.scc.base.model;
import com.qxueyou.scc.base.util.CollectionUtils;
import java.util.Map;
/**
 * 缓存常量实体类
 * @author ody.yuan
@@ -12,6 +16,28 @@
     *  2.
     *   */
    public static final int CACHE_MODULE_H5_ORG_INFO = 1 ;
    public static String GUANGXI_ACQUIESCE = "guangxi/acquiesce/";
    /**
     * 华为云OBS图片文件夹路径
     */
    public static String GUANGXI_IMG = "guangxi/img/";
    /**
     * 华为云OBS视频文件夹路径
     */
    public static String GUANGXI_VIDEO = "guangxi/video/";
    /**
     * 华为云OBS文档文件夹路径
     */
    public static String GUANGXI_DOCUMENT = "guangxi/document/";
    /**
     * 华为云OBS音频文件夹路径
     */
    public static String GUANGXI_AUDIO = "guangxi/audio/";
    /**
     * 智慧云路演华为云OBS压缩包文件夹路径
     */
    public static String GUANGXI_PACKAGE = "guangxi/package/";
    
    /** 手机短信最小间隔时间-缓存前缀 */
    public static final String SMS_MB_MIN_INTERVAL_PREFIX = "SMS_MB_MIN_INTERVAL_";
@@ -203,4 +229,55 @@
    /** 服务层缓存空间  缓存前缀*/
    public static final String QXY_SERVICE_CACHE_NS ="QXU_SERVICE_CACHE_NS_";
    //支持的视频格式
    public static     Map<String, String> fileFormatMap = CollectionUtils.newStringMap(
//支持的视频格式
            "MPEG", GUANGXI_VIDEO,
            "AVI", GUANGXI_VIDEO,
            "MOV", GUANGXI_VIDEO,
            "ASF", GUANGXI_VIDEO,
            "WMV", GUANGXI_VIDEO,
            "NAVI", GUANGXI_VIDEO,
            "3GP", GUANGXI_VIDEO,
            "RAM", GUANGXI_VIDEO,
            "RA", GUANGXI_VIDEO,
            "MKV", GUANGXI_VIDEO,
            "F4V", GUANGXI_VIDEO,
            "RMVB", GUANGXI_VIDEO,
            "MP4", GUANGXI_VIDEO,
            "FLV", GUANGXI_VIDEO,
            "AVCHD", GUANGXI_VIDEO,
            "MKV", GUANGXI_VIDEO,
            "WEBM", GUANGXI_VIDEO,
//支持的文档格式
            "DOC", GUANGXI_DOCUMENT,
            "DOCX", GUANGXI_DOCUMENT,
            "PDF", GUANGXI_DOCUMENT,
            "PPT", GUANGXI_DOCUMENT,
            "PPTX", GUANGXI_DOCUMENT,
            "XLS", GUANGXI_DOCUMENT,
            "XLSX", GUANGXI_DOCUMENT,
//支持的音频格式
            "MP3", GUANGXI_AUDIO,
            "WMA", GUANGXI_AUDIO,
            "WAV", GUANGXI_AUDIO,
            "PCM", GUANGXI_AUDIO,
            "AIFF", GUANGXI_AUDIO,
            "AAC", GUANGXI_AUDIO,
            "OGG", GUANGXI_AUDIO,
            "FLAC", GUANGXI_AUDIO,
            "ALAC", GUANGXI_AUDIO,
//支持的图片格式
            "JPG", GUANGXI_IMG,
            "GIF", GUANGXI_IMG,
            "BMP", GUANGXI_IMG,
            "TIFF", GUANGXI_IMG,
            "WEBP", GUANGXI_IMG,
            "PNG", GUANGXI_IMG,
//支持的压缩包格式
            "RAR", GUANGXI_PACKAGE,
            "ZIP", GUANGXI_PACKAGE,
            "ARJ", GUANGXI_PACKAGE,
            "JAR", GUANGXI_PACKAGE
    );
}
src/main/java/com/qxueyou/scc/controller/HweiYunOBSController.java
@@ -9,9 +9,11 @@
import com.aliyun.oss.OSSException;
import com.obs.services.exception.ObsException;
import com.obs.services.model.PutObjectResult;
import com.qxueyou.scc.base.model.CacheConstants;
import com.qxueyou.scc.base.model.FileMeta;
import com.qxueyou.scc.base.model.Result;
import com.qxueyou.scc.base.util.ClientUtils;
import com.qxueyou.scc.base.util.UUIDUtils;
import com.qxueyou.scc.teach.res.service.HweiYunOBSService;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
@@ -28,6 +30,7 @@
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.List;
import java.util.Locale;
import java.util.Map;
/**
@@ -51,10 +54,21 @@
        if (ObjectUtils.isEmpty(file) || file.getSize() <= 0) {
            return null;
        }
//        if (FileUtil.isEmpty(file)) {
//            return new Result(false,"文件为空");
//        }
        final List<FileMeta> test = hweiYunOBSService.fileUpload(file, file.getOriginalFilename());
        String originalFilename = file.getOriginalFilename();
        String substring = originalFilename.substring(originalFilename.indexOf(".")+1);
        StringBuffer path=new StringBuffer();
        //识别文件后缀格式,获取对应的文件存储路径
        String pathFile = CacheConstants.fileFormatMap.get(substring.toUpperCase(Locale.ROOT));
        if (StringUtils.isEmpty(pathFile)) {//如果为空则上传到默认存储文件夹
            path.append(CacheConstants.GUANGXI_ACQUIESCE);
        }else{
            path.append(pathFile);
        }
        String uuid = UUIDUtils.UUID();
        //将文件重新命名,防止出现重名覆盖
        String newFilename=uuid.concat(file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")));
        final List<FileMeta> test = hweiYunOBSService.fileUpload(file,path.append(newFilename).toString());
//        return ResponseVO.ok("执行成功",test);
        return test;
    }
@@ -112,8 +126,20 @@
        //如果MD5的对应文件存在则直接返回
//        Result result = fileService.checkMd5(md5,fileName);
        String substring = fileName.substring(fileName.indexOf(".")+1);
        return hweiYunOBSService.initUploadChunk(identifier.concat(ClientUtils.getUserId()), fileName,md5);
        StringBuffer path=new StringBuffer();
        //识别文件后缀格式,获取对应的文件存储路径
        String pathFile = CacheConstants.fileFormatMap.get(substring.toUpperCase(Locale.ROOT));
        if (StringUtils.isEmpty(pathFile)) {//如果为空则上传到默认存储文件夹
            path.append(CacheConstants.GUANGXI_ACQUIESCE);
        }else{
            path.append(pathFile);
        }
        String uuid = UUIDUtils.UUID();
        //将文件重新命名,防止出现重名覆盖
        String newFilename=uuid.concat(String.valueOf(fileName.lastIndexOf(".")));
        return hweiYunOBSService.initUploadChunk(identifier.concat(ClientUtils.getUserId()),path.append(newFilename).toString(),md5);
    }