From aa8ff2d61669d0779fdacdba76e26388587b435d Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期四, 22 二月 2024 15:40:23 +0800
Subject: [PATCH] 租房新增需求

---
 guns-admin/src/main/java/com/stylefeng/guns/modular/api/FileController.java |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/api/FileController.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/api/FileController.java
index 9880f73..23fef39 100644
--- a/guns-admin/src/main/java/com/stylefeng/guns/modular/api/FileController.java
+++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/api/FileController.java
@@ -1,12 +1,16 @@
 package com.stylefeng.guns.modular.api;
 
 import com.aliyun.oss.OSS;
+import com.aliyun.oss.OSSClient;
 import com.aliyun.oss.OSSClientBuilder;
 import com.aliyun.oss.model.OSSObject;
+import com.aliyun.oss.model.ObjectMetadata;
+import com.aliyun.oss.model.PutObjectRequest;
 import com.aliyun.oss.model.PutObjectResult;
 import com.stylefeng.guns.modular.file.OSSService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
 import org.springframework.util.StreamUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -18,14 +22,37 @@
 @RestController
 @RequestMapping("")
 public class FileController {
-
-    @Autowired
-    private OSSService ossService;
-
+    private static final String endpoint = "oss-cn-hongkong.aliyuncs.com";
+    private static final String accessKeyId = "LTAI5tQZzqsZYX5gw8yRNchQ";
+    private static final String accessKeySecret = "5yJVdXwRzwPZwKKXp07lRAc7tkTxQp";
+    private static final String bucketName = "bizuphk";
     @PostMapping("/base/files/upload")
     @ApiOperation(value = "文件上传", tags = {"文件上传"})
-    public String uploadFile(@RequestParam("file") MultipartFile file) {
-        return ossService.uploadFile(file);
+    public String uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
+        // 获取原始文件名
+        String originalFilename = file.getOriginalFilename();
+        // 提取文件后缀
+        if (originalFilename != null && originalFilename.contains(".")) {
+            System.err.println(originalFilename.substring(originalFilename.lastIndexOf(".")));
+        }
+        // 创建 OSSClient 实例
+            OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
+        long l = System.currentTimeMillis();
+        // 创建 PutObjectRequest 对象
+            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, String.valueOf(l)+"."+originalFilename.substring(originalFilename.lastIndexOf(".") + 1), file.getInputStream());
+            ObjectMetadata metadata = new ObjectMetadata();
+            // 取消文件缓存,文件每次都会从OSS服务器获取
+            metadata.setHeader("Cache-Control", "no-cache");
+            metadata.setHeader("Expires", "0");
+            // 上传文件
+            PutObjectResult putObjectResult = ossClient.putObject(putObjectRequest);
+            // 关闭 OSSClient 实例
+            ossClient.shutdown();
+            String fileUrl = "https://" + bucketName + "." +
+                    endpoint + "/"
+                    + String.valueOf(l)
+                    +"."+originalFilename.substring(originalFilename.lastIndexOf(".")+ 1);
+            return fileUrl;
     }
 
 //    @ApiOperation(value = "服务端上传", notes = "服务端上传")

--
Gitblit v1.7.1