shikeying
2024-03-31 bde8258f7de3dfc5cbf0fc59f2b74ed0fd073df7
iplatform-file-server/src/main/java/com/iplatform/file/FileEngineFactory.java
@@ -1,5 +1,6 @@
package com.iplatform.file;
import com.iplatform.base.PlatformRuntimeException;
import com.iplatform.file.util.FileStoreUtils;
import com.walker.file.FileInfo;
import com.walker.file.FileOperateEngine;
@@ -25,6 +26,21 @@
public class FileEngineFactory implements ApplicationBeanInitialized {
    protected final transient Logger logger = LoggerFactory.getLogger(this.getClass());
    /**
     * 下载oss文件
     * @param fileStoreType
     * @param id 文件唯一编号
     * @return
     * @date 2023-12-13
     */
    public byte[] downloadOssFile(FileStoreType fileStoreType, String id){
        try {
            return this.fileOperateEngineMap.get(fileStoreType).downloadFile(id);
        } catch (FileOperateException e) {
            throw new PlatformRuntimeException("下载oss文件错误:" + e.getMessage() + ", id=" + id, e);
        }
    }
    /**
     * 根据文件ID,返回文件对象。
@@ -142,7 +158,8 @@
    public FileInfo uploadFileToOss(InputStream inputStream, String fileName, String groupId
            , long fileSize, Integer businessType, String owner, FileStoreType fileStoreType) throws FileOperateException{
        if(fileStoreType != FileStoreType.OssQiNiu
                && fileStoreType != FileStoreType.OssTx && fileStoreType != FileStoreType.OssAli){
                && fileStoreType != FileStoreType.OssTx && fileStoreType != FileStoreType.OssAli
                && fileStoreType != FileStoreType.OssAws){
            throw new UnsupportedOperationException("不支持的OSS类型:" + fileStoreType);
        }
        if(this.remoteAsLocal){
@@ -155,7 +172,8 @@
    public FileInfo[] uploadFileToOss(InputStream[] inputStream, String[] fileName, String groupId
            , long[] fileSize, Integer businessType, String owner, FileStoreType fileStoreType) throws FileOperateException{
        if(fileStoreType != FileStoreType.OssQiNiu
                && fileStoreType != FileStoreType.OssTx && fileStoreType != FileStoreType.OssAli){
                && fileStoreType != FileStoreType.OssTx && fileStoreType != FileStoreType.OssAli
                && fileStoreType != FileStoreType.OssAws){
            throw new UnsupportedOperationException("不支持的OSS类型:" + fileStoreType);
        }
        if(this.remoteAsLocal){
@@ -238,6 +256,11 @@
        if(StringUtils.isNotEmpty(fileUrlPrefixConfig)){
            FileStoreUtils.fileStoreTypeUrlPrefix.put(FileStoreType.OssAli.getIndex(), fileUrlPrefixConfig);
        }
        // 2024-02-23 s3对象上传
        fileUrlPrefixConfig = this.getFileUrlPrefix(FileStoreType.OssAws.getIndex());
        if(StringUtils.isNotEmpty(fileUrlPrefixConfig)){
            FileStoreUtils.fileStoreTypeUrlPrefix.put(FileStoreType.OssAws.getIndex(), fileUrlPrefixConfig);
        }
    }
    /**