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