diff --git a/ruoyi-modules/ruoyi-student/pom.xml b/ruoyi-modules/ruoyi-student/pom.xml
index a60f981..2ff0872 100644
--- a/ruoyi-modules/ruoyi-student/pom.xml
+++ b/ruoyi-modules/ruoyi-student/pom.xml
@@ -33,6 +33,10 @@
org.dromara
ruoyi-common-log
+
+ org.dromara
+ ruoyi-system
+
diff --git a/ruoyi-modules/ruoyi-student/src/main/java/org/dromara/controller/FileController.java b/ruoyi-modules/ruoyi-student/src/main/java/org/dromara/controller/FileController.java
new file mode 100644
index 0000000..ced70e9
--- /dev/null
+++ b/ruoyi-modules/ruoyi-student/src/main/java/org/dromara/controller/FileController.java
@@ -0,0 +1,81 @@
+package org.dromara.controller;
+
+import cn.hutool.core.io.FileUtil;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import org.dromara.common.Result;
+import org.dromara.common.core.exception.file.FileException;
+import org.dromara.system.service.ISysOssService;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+
+/**
+ * 文件相关的接口
+ */
+@RestController
+@RequestMapping("/files")
+public class FileController {
+ // System.getProperty("user.dir") 获取到你当前项目的根路径
+ private static final String filePath = System.getProperty("user.dir")+"/files/";
+ @Resource
+ private ISysOssService sysOssService;
+
+
+ @PostMapping("/upload")
+ public Result upload(MultipartFile file){ //文件流的形式接收前端发送过来的文件
+// String originalFilename = file.getOriginalFilename(); // xxx.png
+// if(!FileUtil.isDirectory(filePath)){ // 如果目录不存在,需要先创建目录
+// FileUtil.mkdir(filePath);//创建一个files 目录
+// }
+// // 提供文件存储的完整的路径
+// // 给文件名加一个唯一的标识
+// String fileName = System.currentTimeMillis()+ "_"+ originalFilename;
+// String realPath = filePath + fileName; // 完整的文件路径
+// try {
+// FileUtil.writeBytes(file.getBytes(),realPath);
+// } catch (IOException e) {
+// e.printStackTrace();
+// throw new FileException("500",new String[]{"文件上传失败"});
+// }
+//
+// // 返回一个网络链接
+// // http://localhost:9090/files/download/xxxx.jpg
+// String url = "http://localhost:8888/files/" + fileName;
+// return Result.success(url);
+ return Result.success(sysOssService.upload(file));
+ }
+
+
+ /**
+ * 文件下载
+ *
+ * @param fileName
+ * @param response
+ * @return
+ */
+ @GetMapping("/download/{fileName}")
+ public Result download(@PathVariable String fileName , HttpServletResponse response){
+
+ try {
+ response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, StandardCharsets.UTF_8));
+ response.setContentType("application/octet-stream");
+ OutputStream os = response.getOutputStream();
+ String realPath = filePath + fileName; // 完整的文件路径
+ // 获取到文件的字节流数组
+ byte[] bytes = FileUtil.readBytes(realPath);
+ os.write(bytes);
+ os.flush();
+ os.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new FileException("500",new String[]{"文件下载失败"});
+ }
+ String url = "http://localhost:90/files/download/" + fileName;
+ return Result.success(url);
+ }
+}