From 80767f14511b22c4203fb5827754774ca5f80eae Mon Sep 17 00:00:00 2001 From: tianliyong Date: Thu, 12 Jan 2023 19:19:03 +0800 Subject: [PATCH] =?UTF-8?q?appCode:cms=E5=8D=95=E7=8B=AC=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../integration/s3/base/BaseS3Service.java | 2 +- .../s3/impl/AliOssServiceImpl.java | 20 ++++++++++++------- .../cn/axzo/oss/manager/api/FileManager.java | 2 +- .../oss/manager/impl/FileManagerImpl.java | 4 ++-- .../oss/service/impl/FileServiceImpl.java | 4 ++-- 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/oss-integration/src/main/java/cn/axzo/oss/integration/s3/base/BaseS3Service.java b/oss-integration/src/main/java/cn/axzo/oss/integration/s3/base/BaseS3Service.java index 9e30772..1b563dd 100644 --- a/oss-integration/src/main/java/cn/axzo/oss/integration/s3/base/BaseS3Service.java +++ b/oss-integration/src/main/java/cn/axzo/oss/integration/s3/base/BaseS3Service.java @@ -21,7 +21,7 @@ public interface BaseS3Service { /** * upload file */ - String uploadByStream(String bucketName, String tgtFileKey, String fileName, InputStream srcStream); + String uploadByStream(String bucketName, String tgtFileKey, String fileName, String appCode, InputStream srcStream); /** * upload multi file diff --git a/oss-integration/src/main/java/cn/axzo/oss/integration/s3/impl/AliOssServiceImpl.java b/oss-integration/src/main/java/cn/axzo/oss/integration/s3/impl/AliOssServiceImpl.java index fb32ecc..8c9e50c 100644 --- a/oss-integration/src/main/java/cn/axzo/oss/integration/s3/impl/AliOssServiceImpl.java +++ b/oss-integration/src/main/java/cn/axzo/oss/integration/s3/impl/AliOssServiceImpl.java @@ -32,6 +32,8 @@ import static cn.axzo.oss.common.constans.CommonConstants.APP_PRO_BUCKET_NAME; @Slf4j public class AliOssServiceImpl implements AliOssService { + private static final String APPCODE_CMS = "cms"; + @Autowired private AliOssClient aliOssClient; @@ -42,15 +44,19 @@ public class AliOssServiceImpl implements AliOssService { * upload file */ @Override - public String uploadByStream(String bucketName, String tgtFileKey, String fileName, InputStream srcStream) { + public String uploadByStream(String bucketName, String tgtFileKey, String fileName, String appCode, InputStream srcStream) { OSS client = aliOssClient.getClient(); try { - // 创建上传文件的元信息,通过文件云信息设置HTTP Header - ObjectMetadata metadata = new ObjectMetadata(); - // 设置内容被下载时的名称 - metadata.setContentDisposition("attachment;filename=\"" + URLEncoder.encode(fileName, "utf-8") + "\""); - metadata.setContentEncoding("utf-8"); - client.putObject(bucketName, tgtFileKey, srcStream, metadata); + if (APPCODE_CMS.equals(appCode)) { + client.putObject(bucketName, tgtFileKey, srcStream); + } else { + // 创建上传文件的元信息,通过文件云信息设置HTTP Header + ObjectMetadata metadata = new ObjectMetadata(); + // 设置内容被下载时的名称 + metadata.setContentDisposition("attachment;filename=\"" + URLEncoder.encode(fileName, "utf-8") + "\""); + metadata.setContentEncoding("utf-8"); + client.putObject(bucketName, tgtFileKey, srcStream, metadata); + } } catch (OSSException e) { LogUtil.error("uploadByStream OSSException", e); return ""; diff --git a/oss-manager-api/src/main/java/cn/axzo/oss/manager/api/FileManager.java b/oss-manager-api/src/main/java/cn/axzo/oss/manager/api/FileManager.java index c67249e..20b6ad6 100644 --- a/oss-manager-api/src/main/java/cn/axzo/oss/manager/api/FileManager.java +++ b/oss-manager-api/src/main/java/cn/axzo/oss/manager/api/FileManager.java @@ -27,7 +27,7 @@ public interface FileManager { * @param fileContent * @return */ - String uploadByStream(String bulkName, String keyPath, String fileName, byte[] fileContent); + String uploadByStream(String bulkName, String keyPath, String fileName, String appCode, byte[] fileContent); /** * 下载文件 diff --git a/oss-manager/src/main/java/cn/axzo/oss/manager/impl/FileManagerImpl.java b/oss-manager/src/main/java/cn/axzo/oss/manager/impl/FileManagerImpl.java index 0c2f1fe..19d5754 100644 --- a/oss-manager/src/main/java/cn/axzo/oss/manager/impl/FileManagerImpl.java +++ b/oss-manager/src/main/java/cn/axzo/oss/manager/impl/FileManagerImpl.java @@ -38,11 +38,11 @@ public class FileManagerImpl implements FileManager { * @param bulkName 默认的取值为 * @param keyPath key的前置路径 */ - public String uploadByStream(String bulkName, String keyPath, String fileName, byte[] fileContent) { + public String uploadByStream(String bulkName, String keyPath, String fileName, String appCode, byte[] fileContent) { InputStream inputStream = new ByteArrayInputStream(fileContent); - return aliOssService.uploadByStream(bulkName, keyPath, fileName, inputStream); + return aliOssService.uploadByStream(bulkName, keyPath, fileName, appCode, inputStream); } @Override diff --git a/oss-service/src/main/java/cn/axzo/oss/service/impl/FileServiceImpl.java b/oss-service/src/main/java/cn/axzo/oss/service/impl/FileServiceImpl.java index 364a8c4..3ed9dbc 100644 --- a/oss-service/src/main/java/cn/axzo/oss/service/impl/FileServiceImpl.java +++ b/oss-service/src/main/java/cn/axzo/oss/service/impl/FileServiceImpl.java @@ -465,8 +465,8 @@ public class FileServiceImpl implements FileService { String tgtFileKey = Utility.generateFileKey(fileUploadConfig.getDirectory(), uuid, fileConform); // 上传文件 - String fileUrl = fileManager.uploadByStream( - fileUploadConfig.getBucketName(), tgtFileKey, dto.getFileName(), dto.getFileContent()); + String fileUrl = fileManager.uploadByStream(fileUploadConfig.getBucketName(), tgtFileKey, dto.getFileName(), + dto.getAppCode(), dto.getFileContent()); // 保存失败 if (Utility.isBlank(fileUrl)) {