From a4c019ace2841faa6af14b5373a041464c3dbbde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Tue, 20 Jul 2021 11:12:22 +0800 Subject: [PATCH] =?UTF-8?q?update=20OSS=E6=8E=A5=E5=8F=A3=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=80=9A=E7=94=A8contentType?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-oss/pom.xml | 2 +- .../com/ruoyi/oss/constant/CloudConstant.java | 2 ++ .../oss/service/ICloudStorageService.java | 8 ++++---- .../abstractd/AbstractCloudStorageService.java | 10 +++++----- .../impl/AliyunCloudStorageServiceImpl.java | 14 +++++++------- .../impl/MinioCloudStorageServiceImpl.java | 18 ++++++++++-------- .../impl/QcloudCloudStorageServiceImpl.java | 10 +++++----- .../impl/QiniuCloudStorageServiceImpl.java | 10 +++++----- .../system/service/impl/SysOssServiceImpl.java | 2 +- 9 files changed, 40 insertions(+), 36 deletions(-) diff --git a/ruoyi-oss/pom.xml b/ruoyi-oss/pom.xml index 9d9fe211..e9c33140 100644 --- a/ruoyi-oss/pom.xml +++ b/ruoyi-oss/pom.xml @@ -5,7 +5,7 @@ ruoyi-vue-plus com.ruoyi - 2.5.1 + 2.5.2 4.0.0 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 fcb2ef8b..bc2d59e5 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 class CloudConstant { */ 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 700bf3f8..a3d73d77 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 @@ public interface ICloudStorageService { * @param path 文件路径,包含文件名 * @return 返回http地址 */ - UploadResult upload(byte[] data, String path); + UploadResult upload(byte[] data, String path, String contentType); /** * 文件删除 @@ -48,7 +48,7 @@ public interface ICloudStorageService { * @param suffix 后缀 * @return 返回http地址 */ - UploadResult uploadSuffix(byte[] data, String suffix); + UploadResult uploadSuffix(byte[] data, String suffix, String contentType); /** * 文件上传 @@ -57,7 +57,7 @@ public interface ICloudStorageService { * @param path 文件路径,包含文件名 * @return 返回http地址 */ - UploadResult upload(InputStream inputStream, String path); + UploadResult upload(InputStream inputStream, String path, String contentType); /** * 文件上传 @@ -66,5 +66,5 @@ public interface ICloudStorageService { * @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 42f44e1d..2e6404c3 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 @@ public abstract class AbstractCloudStorageService implements ICloudStorageServic } @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 e6733c95..b483eba7 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 @@ public class AliyunCloudStorageServiceImpl extends AbstractCloudStorageService i } @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 @@ public class AliyunCloudStorageServiceImpl extends AbstractCloudStorageService i } @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 e53c77cd..f6d4cd42 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 @@ public class MinioCloudStorageServiceImpl extends AbstractCloudStorageService im } @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 @@ public class MinioCloudStorageServiceImpl extends AbstractCloudStorageService im } @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 883f10e8..3376b8d2 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 @@ public class QcloudCloudStorageServiceImpl extends AbstractCloudStorageService i } @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 @@ public class QcloudCloudStorageServiceImpl extends AbstractCloudStorageService i } @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 91a852ee..0b699ab2 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 @@ public class QiniuCloudStorageServiceImpl extends AbstractCloudStorageService im } @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 @@ public class QiniuCloudStorageServiceImpl extends AbstractCloudStorageService im } @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 994458be..ccbf2ad2 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 @@ public class SysOssServiceImpl extends ServicePlusImpl imp 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); }