From a4c019ace2841faa6af14b5373a041464c3dbbde Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期二, 20 七月 2021 11:12:22 +0800 Subject: [PATCH] update OSS接口增加通用contentType --- ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java | 10 ++-- ruoyi-oss/src/main/java/com/ruoyi/oss/constant/CloudConstant.java | 2 + ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageServiceImpl.java | 18 +++++---- ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java | 2 ruoyi-oss/pom.xml | 2 ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuCloudStorageServiceImpl.java | 10 ++-- ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageServiceImpl.java | 14 +++--- ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageServiceImpl.java | 10 ++-- ruoyi-oss/src/main/java/com/ruoyi/oss/service/ICloudStorageService.java | 8 ++-- 9 files changed, 40 insertions(+), 36 deletions(-) diff --git a/ruoyi-oss/pom.xml b/ruoyi-oss/pom.xml index 9d9fe21..e9c3314 100644 --- a/ruoyi-oss/pom.xml +++ b/ruoyi-oss/pom.xml @@ -5,7 +5,7 @@ <parent> <artifactId>ruoyi-vue-plus</artifactId> <groupId>com.ruoyi</groupId> - <version>2.5.1</version> + <version>2.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/constant/CloudConstant.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/constant/CloudConstant.java index fcb2ef8..bc2d59e 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/constant/CloudConstant.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/constant/CloudConstant.java @@ -12,5 +12,7 @@ */ public final static String CLOUD_STORAGE_CONFIG_KEY = "sys.oss.cloudStorageService"; + public final static String DEFAULT_CONTENT_TYPE = "application/octet-stream"; + } diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/ICloudStorageService.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/ICloudStorageService.java index 700bf3f..a3d73d7 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/ICloudStorageService.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/ICloudStorageService.java @@ -32,7 +32,7 @@ * @param path 鏂囦欢璺緞锛屽寘鍚枃浠跺悕 * @return 杩斿洖http鍦板潃 */ - UploadResult upload(byte[] data, String path); + UploadResult upload(byte[] data, String path, String contentType); /** * 鏂囦欢鍒犻櫎 @@ -48,7 +48,7 @@ * @param suffix 鍚庣紑 * @return 杩斿洖http鍦板潃 */ - UploadResult uploadSuffix(byte[] data, String suffix); + UploadResult uploadSuffix(byte[] data, String suffix, String contentType); /** * 鏂囦欢涓婁紶 @@ -57,7 +57,7 @@ * @param path 鏂囦欢璺緞锛屽寘鍚枃浠跺悕 * @return 杩斿洖http鍦板潃 */ - UploadResult upload(InputStream inputStream, String path); + UploadResult upload(InputStream inputStream, String path, String contentType); /** * 鏂囦欢涓婁紶 @@ -66,5 +66,5 @@ * @param suffix 鍚庣紑 * @return 杩斿洖http鍦板潃 */ - UploadResult uploadSuffix(InputStream inputStream, String suffix); + UploadResult uploadSuffix(InputStream inputStream, String suffix, String contentType); } diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java index 42f44e1..2e6404c 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractCloudStorageService.java @@ -34,22 +34,22 @@ } @Override - public abstract UploadResult upload(byte[] data, String path); + public abstract UploadResult upload(byte[] data, String path, String contentType); @Override public abstract void delete(String path); @Override - public UploadResult upload(InputStream inputStream, String path) { + public UploadResult upload(InputStream inputStream, String path, String contentType) { byte[] data = IoUtil.readBytes(inputStream); - return this.upload(data, path); + return this.upload(data, path, contentType); } @Override - public abstract UploadResult uploadSuffix(byte[] data, String suffix); + public abstract UploadResult uploadSuffix(byte[] data, String suffix, String contentType); @Override - public abstract UploadResult uploadSuffix(InputStream inputStream, String suffix); + public abstract UploadResult uploadSuffix(InputStream inputStream, String suffix, String contentType); @Override public abstract void afterPropertiesSet() throws Exception; diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageServiceImpl.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageServiceImpl.java index e6733c9..b483eba 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageServiceImpl.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageServiceImpl.java @@ -50,12 +50,12 @@ } @Override - public UploadResult upload(byte[] data, String path) { - return upload(new ByteArrayInputStream(data), path); + public UploadResult upload(byte[] data, String path, String contentType) { + return upload(new ByteArrayInputStream(data), path, contentType); } @Override - public UploadResult upload(InputStream inputStream, String path) { + public UploadResult upload(InputStream inputStream, String path, String contentType) { try { client.putObject(this.properties.getBucketName(), path, inputStream); } catch (Exception e) { @@ -75,13 +75,13 @@ } @Override - public UploadResult uploadSuffix(byte[] data, String suffix) { - return upload(data, getPath(this.properties.getPrefix(), suffix)); + public UploadResult uploadSuffix(byte[] data, String suffix, String contentType) { + return upload(data, getPath(this.properties.getPrefix(), suffix), contentType); } @Override - public UploadResult uploadSuffix(InputStream inputStream, String suffix) { - return upload(inputStream, getPath(this.properties.getPrefix(), suffix)); + public UploadResult uploadSuffix(InputStream inputStream, String suffix, String contentType) { + return upload(inputStream, getPath(this.properties.getPrefix(), suffix), contentType); } @Override diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageServiceImpl.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageServiceImpl.java index e53c77c..f6d4cd4 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageServiceImpl.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioCloudStorageServiceImpl.java @@ -1,5 +1,7 @@ package com.ruoyi.oss.service.impl; +import cn.hutool.core.util.StrUtil; +import com.ruoyi.oss.constant.CloudConstant; import com.ruoyi.oss.entity.UploadResult; import com.ruoyi.oss.enumd.CloudServiceEnumd; import com.ruoyi.oss.enumd.PolicyType; @@ -58,17 +60,17 @@ } @Override - public UploadResult upload(byte[] data, String path) { - return upload(new ByteArrayInputStream(data), path); + public UploadResult upload(byte[] data, String path, String contentType) { + return upload(new ByteArrayInputStream(data), path, contentType); } @Override - public UploadResult upload(InputStream inputStream, String path) { + public UploadResult upload(InputStream inputStream, String path, String contentType) { try { minioClient.putObject(PutObjectArgs.builder() .bucket(properties.getBucketName()) .object(path) - .contentType("application/octet-stream") + .contentType(StrUtil.blankToDefault(contentType, CloudConstant.DEFAULT_CONTENT_TYPE)) .stream(inputStream, inputStream.available(), -1) .build()); } catch (Exception e) { @@ -91,13 +93,13 @@ } @Override - public UploadResult uploadSuffix(byte[] data, String suffix) { - return upload(data, getPath("", suffix)); + public UploadResult uploadSuffix(byte[] data, String suffix, String contentType) { + return upload(data, getPath("", suffix), contentType); } @Override - public UploadResult uploadSuffix(InputStream inputStream, String suffix) { - return upload(inputStream, getPath("", suffix)); + public UploadResult uploadSuffix(InputStream inputStream, String suffix, String contentType) { + return upload(inputStream, getPath("", suffix), contentType); } @Override diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageServiceImpl.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageServiceImpl.java index 883f10e..3376b8d 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageServiceImpl.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudCloudStorageServiceImpl.java @@ -53,7 +53,7 @@ } @Override - public UploadResult upload(byte[] data, String path) { + public UploadResult upload(byte[] data, String path, String contentType) { // 鑵捐浜戝繀闇�瑕佷互"/"寮�澶� if (!path.startsWith("/")) { path = "/" + path; @@ -80,13 +80,13 @@ } @Override - public UploadResult uploadSuffix(byte[] data, String suffix) { - return upload(data, getPath(this.properties.getPrefix(), suffix)); + public UploadResult uploadSuffix(byte[] data, String suffix, String contentType) { + return upload(data, getPath(this.properties.getPrefix(), suffix), contentType); } @Override - public UploadResult uploadSuffix(InputStream inputStream, String suffix) { - return upload(inputStream, getPath(this.properties.getPrefix(), suffix)); + public UploadResult uploadSuffix(InputStream inputStream, String suffix, String contentType) { + return upload(inputStream, getPath(this.properties.getPrefix(), suffix), contentType); } @Override diff --git a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuCloudStorageServiceImpl.java b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuCloudStorageServiceImpl.java index 91a852e..0b699ab 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuCloudStorageServiceImpl.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuCloudStorageServiceImpl.java @@ -60,7 +60,7 @@ } @Override - public UploadResult upload(byte[] data, String path) { + public UploadResult upload(byte[] data, String path, String contentType) { try { Response res = uploadManager.put(data, path, token); if (!res.isOK()) { @@ -86,13 +86,13 @@ } @Override - public UploadResult uploadSuffix(byte[] data, String suffix) { - return upload(data, getPath(this.properties.getPrefix(), suffix)); + public UploadResult uploadSuffix(byte[] data, String suffix, String contentType) { + return upload(data, getPath(this.properties.getPrefix(), suffix), contentType); } @Override - public UploadResult uploadSuffix(InputStream inputStream, String suffix) { - return upload(inputStream, getPath(this.properties.getPrefix(), suffix)); + public UploadResult uploadSuffix(InputStream inputStream, String suffix, String contentType) { + return upload(inputStream, getPath(this.properties.getPrefix(), suffix), contentType); } @Override diff --git a/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java b/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java index 994458b..ccbf2ad 100644 --- a/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java +++ b/ruoyi-oss/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java @@ -59,7 +59,7 @@ ICloudStorageService storage = OssFactory.instance(); UploadResult uploadResult; try { - uploadResult = storage.uploadSuffix(file.getBytes(), suffix); + uploadResult = storage.uploadSuffix(file.getBytes(), suffix, file.getContentType()); } catch (IOException e) { throw new CustomException("鏂囦欢璇诲彇寮傚父!!!", e); } -- Gitblit v1.9.3