From 3d1e51824251c29b70753989efe09c3adc3e56b4 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 18 六月 2024 08:43:20 +0800 Subject: [PATCH] 对接天翼云OBS --- ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 49 insertions(+), 7 deletions(-) diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java index 45f86b0..4edc796 100644 --- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java +++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java @@ -1,15 +1,21 @@ package com.ruoyi.file.controller; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.file.FileUtils; import com.ruoyi.file.service.ISysFileService; import com.ruoyi.system.api.domain.SysFile; +import com.ruoyi.system.api.util.HuaWeiOBSUtil; +import com.ruoyi.system.api.util.StateCloudObsUtil; +import io.swagger.annotations.ApiOperation; +import java.util.ArrayList; +import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; /** * 文件请求处理 @@ -27,7 +33,7 @@ /** * 文件上传请求 */ - @PostMapping("upload") + @PostMapping("/upload") public R<SysFile> upload(MultipartFile file) { try @@ -45,4 +51,40 @@ return R.fail(e.getMessage()); } } + + /** + * 文件上传请求 + */ + @ApiOperation(value = "obs文件上传", notes = "obs文件上传") + @PostMapping("/obs/upload") + public R<String> obsUpload(@RequestPart("file") MultipartFile file) { + try { + // 上传并返回访问地址 + String url = HuaWeiOBSUtil.obsUpload(file); + return R.ok(url); + } catch (Exception e) { + log.error("上传文件失败", e); + return R.fail(e.getMessage()); + } + } + + /** + * 文件上传请求 + */ + @ApiOperation(value = "obs文件批量上传", notes = "obs文件批量上传") + @PostMapping("/obs/upload-batch") + public R<List<String>> obsUploadBatch(@RequestPart("file") MultipartFile[] file) { + List<String> urls = new ArrayList<>(); + try { + for (MultipartFile multipartFile : file) { + String url = StateCloudObsUtil.uploadFile(multipartFile); + urls.add(url); + } + // 上传并返回访问地址 + return R.ok(urls); + } catch (Exception e) { + log.error("上传文件失败", e); + return R.fail(e.getMessage()); + } + } } \ No newline at end of file -- Gitblit v1.7.1