diff --git a/pom.xml b/pom.xml
index ce8abf72..4fddfe0d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,6 +47,7 @@
5.7.17
3.4.3.4
3.6
+ 3.14.0
diff --git a/ruoyi-modules/ruoyi-file/pom.xml b/ruoyi-modules/ruoyi-file/pom.xml
index 9463b20e..9e351683 100644
--- a/ruoyi-modules/ruoyi-file/pom.xml
+++ b/ruoyi-modules/ruoyi-file/pom.xml
@@ -61,6 +61,13 @@
${commonsNet.version}
+
+
+ com.aliyun.oss
+ aliyun-sdk-oss
+ ${aliyunoss.version}
+
+
com.ruoyi
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/config/AliyunOssProperties.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/config/AliyunOssProperties.java
new file mode 100644
index 00000000..3c41d2dc
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/config/AliyunOssProperties.java
@@ -0,0 +1,38 @@
+package com.ruoyi.file.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * 阿里云oss配置属性
+ *
+ * @author xiejs
+ * @since 2022-01-25
+ */
+@Data
+@Component
+@ConfigurationProperties(prefix = "aliyun.oss.file")
+public class AliyunOssProperties {
+
+ /**
+ * 文件地址
+ */
+ private String endpoint;
+
+ /**
+ *keyId
+ */
+ private String keyId;
+
+ /**
+ * 密钥
+ */
+ private String keySecret;
+
+ /**
+ * 文件分类
+ */
+ private String bucketName;
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/AliyunOssFileServiceImpl.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/AliyunOssFileServiceImpl.java
new file mode 100644
index 00000000..3ee9857a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/AliyunOssFileServiceImpl.java
@@ -0,0 +1,69 @@
+package com.ruoyi.file.service;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.RandomUtil;
+import com.aliyun.oss.OSS;
+import com.aliyun.oss.OSSClientBuilder;
+import com.ruoyi.file.config.AliyunOssProperties;
+import com.ruoyi.file.utils.FileUploadUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Date;
+
+/**
+ * 阿里云oss文件上传实现
+ * @author xiejs
+ * @since 2022-01-25
+ */
+@Service
+@Primary
+public class AliyunOssFileServiceImpl implements ISysFileService{
+
+
+ @Autowired
+ private AliyunOssProperties aliyunOssProperties;
+
+ @Override
+ public String uploadFile(MultipartFile file) throws Exception {
+ try {
+ String endpoint = aliyunOssProperties.getEndpoint();
+ String keyId = aliyunOssProperties.getKeyId();
+ String keySecret = aliyunOssProperties.getKeySecret();
+ String bucketName = aliyunOssProperties.getBucketName();
+ OSS ossClient = new OSSClientBuilder().build(endpoint,
+ keyId, keySecret);
+ //获取流
+ InputStream is = file.getInputStream();
+ //获取文件后缀
+ String extension = FileUploadUtils.getExtension(file);
+ //获取文件名称
+ String fileName = getDataTime()+"."+extension;
+ //执行文件上传 bucket名称 文件名称 文件流
+ ossClient.putObject(bucketName,fileName,is);
+ //关闭ossClient
+ ossClient.shutdown();
+ //拼接文件地址
+ return "https://"+bucketName+"."+endpoint+"/"+fileName;
+ } catch (IOException e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ /**
+ * 生成一个当前日期文件名
+ * @return
+ */
+ private String getDataTime(){
+ String today = DateUtil.format(new Date(), "yyyy-MM");
+ String time = DateUtil.formatDateTime(new Date());
+ int random = RandomUtil.randomInt(1000, 10000);
+ //防止同一时间生成文件名重复
+ return today+"/"+time+"-"+random;
+ }
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/FtpSysFileServiceImpl.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/FtpSysFileServiceImpl.java
index e3a631c6..12f1ed6b 100644
--- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/FtpSysFileServiceImpl.java
+++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/FtpSysFileServiceImpl.java
@@ -5,7 +5,6 @@ import com.ruoyi.file.config.FtpProperties;
import com.ruoyi.file.utils.FileUploadUtils;
import com.ruoyi.file.utils.FtpUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import org.springframework.web.multipart.MultipartFile;
@@ -18,7 +17,6 @@ import java.util.UUID;
* @since 2022-01-24
*/
@Service
-@Primary
public class FtpSysFileServiceImpl implements ISysFileService{
@Autowired