| | |
| | | package com.iplatform.file.config; |
| | | |
| | | import com.iplatform.base.config.FileProperties; |
| | | import com.iplatform.core.PlatformConfiguration; |
| | | import com.iplatform.file.FileEngineFactory; |
| | | import com.iplatform.file.FileStoreCallback; |
| | | import com.iplatform.file.service.FileServiceImpl; |
| | | import com.iplatform.file.support.AliOssFileEngine; |
| | | import com.iplatform.file.support.AttachmentJdbcCallback; |
| | | import com.iplatform.file.support.AwsOssFileEngine; |
| | | import com.iplatform.file.support.DefaultFileSystemEngine; |
| | | import com.iplatform.file.support.DefaultFtpFileEngine; |
| | | import com.iplatform.file.support.QnOssFileEngine; |
| | |
| | | import org.springframework.context.annotation.Configuration; |
| | | |
| | | @Configuration |
| | | public class FileConfig { |
| | | public class FileConfig extends PlatformConfiguration { |
| | | |
| | | /** |
| | | * 配置一个文件引擎工厂对象。 |
| | |
| | | @Bean |
| | | public FileEngineFactory fileEngineFactory(DefaultFtpFileEngine ftpFileEngine, DefaultFileSystemEngine fileSystemEngine |
| | | , QnOssFileEngine qnOssFileEngine, TxOssFileEngine txOssFileEngine, AliOssFileEngine aliOssFileEngine |
| | | , AwsOssFileEngine awsOssFileEngine |
| | | , ArgumentsManager argumentsManager, FileProperties fileProperties){ |
| | | FileEngineFactory fileEngineFactory = new FileEngineFactory(); |
| | | fileEngineFactory.register(FileStoreType.Ftp, ftpFileEngine); |
| | |
| | | fileEngineFactory.register(FileStoreType.OssQiNiu, qnOssFileEngine); |
| | | fileEngineFactory.register(FileStoreType.OssTx, txOssFileEngine); |
| | | fileEngineFactory.register(FileStoreType.OssAli, aliOssFileEngine); |
| | | // 2023-12-13 |
| | | fileEngineFactory.register(FileStoreType.OssAws, awsOssFileEngine); |
| | | |
| | | fileEngineFactory.setArgumentsManager(argumentsManager); |
| | | fileEngineFactory.setRemoteAsLocal(fileProperties.isRemoteAsLocal()); |
| | | fileEngineFactory.startup(); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 创建:OSS服务引擎。 |
| | | * |
| | | * @param fileProperties |
| | | * @param fileStoreCallback |
| | | * @return |
| | | * @date 2023-12-13 |
| | | */ |
| | | @Bean |
| | | public AwsOssFileEngine awsOssFileEngine(FileProperties fileProperties, FileStoreCallback fileStoreCallback) throws Exception { |
| | | AwsOssFileEngine engine = new AwsOssFileEngine(); |
| | | engine.setPrefix(fileProperties.getOssPrefix()); |
| | | engine.setFileStoreCallback(fileStoreCallback); |
| | | engine.setAccessKey(fileProperties.getOssAccessKey()); |
| | | engine.setSecretKey(fileProperties.getOssSecretKey()); |
| | | engine.setEndpoint(fileProperties.getOssEndpoint()); |
| | | engine.setBucketName(fileProperties.getOssBucketName()); |
| | | engine.initS3Client(); |
| | | logger.info(".............. OSS 初始化: 亚马逊S3!"); |
| | | return engine; |
| | | } |
| | | |
| | | /** |
| | | * 阿里云 OSS 文件引擎定义。 |
| | | * @param fileProperties |
| | | * @param fileStoreCallback |