package com.ruoyi.web.controller.tool; import com.obs.services.ObsClient; import com.obs.services.model.ObjectMetadata; import java.io.IOException; import java.io.InputStream; import java.util.UUID; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @RestController public class ObsUploadUtil { // OBS图片访问域名 TODO 修改正式参数 public static String endPoint = "obs.cn-east-3.myhuaweicloud.com"; public static String accessKeyId = "S2BWSKTM1TKNPCPZRTJF"; public static String accessKeySecret = "I1JsC8dJDea3x7l6Tcx77OI7NdEibzkUv1feZ3Uq"; public static String bucketName = "tcjt-zpw"; public static String oss_domain = "https://tcjt-zpw.obs.cn-east-3.myhuaweicloud.com/"; // 创建ObsClient实例 public static ObsClient obsClient = new ObsClient(accessKeyId, accessKeySecret, endPoint); public static String obsUpload(@RequestBody MultipartFile file) throws IOException { String fileName = ""; if (file != null && !"".equals(file.getName()) && file.getName() != null) { InputStream content = file.getInputStream();// 获得指定文件的输入流 ObjectMetadata meta = new ObjectMetadata();// 创建上传Object的Metadata meta.setContentLength(file.getSize()); // 必须设置ContentLength String originalFilename = file.getName(); fileName = UUID.randomUUID().toString().replaceAll("-", "") + originalFilename; // fileName = // file.getOriginalFilename() + originalFilename.subSequence( // originalFilename.lastIndexOf("."), originalFilename.length()); obsClient.putObject(bucketName, "xinquan/" + fileName, content, meta);// 上传Object. if (fileName != null && !"".equals(fileName)) { System.out.println(fileName); fileName = oss_domain + "xinquan/" + fileName; } } return fileName; } @ApiOperation(value = "上传",tags = {"后台统一上传"}) @PostMapping(value = "/sys/upload") public static String obsUpload1(@RequestBody MultipartFile file) throws IOException { String fileName = ""; if (file != null && !"".equals(file.getOriginalFilename()) && file.getOriginalFilename() != null) { InputStream content = file.getInputStream();// 获得指定文件的输入流 ObjectMetadata meta = new ObjectMetadata();// 创建上传Object的Metadata meta.setContentLength(file.getSize()); // 必须设置ContentLength String originalFilename = file.getOriginalFilename(); fileName = UUID.randomUUID().toString().replaceAll("-", "") + originalFilename.subSequence( originalFilename.lastIndexOf("."), originalFilename.length()); obsClient.putObject(bucketName, "xinquan/" + fileName, content, meta);// 上传Object. if (fileName != null && !"".equals(fileName)) { System.out.println(fileName); fileName = oss_domain + "xinquan/" + fileName; } } return fileName; } /** * 删除某个Object * * @param bucketUrl * @return */ public static boolean deleteObject(String bucketUrl) { try { bucketUrl = bucketUrl.replace(oss_domain + "admin/", ""); // 删除Object. obsClient.deleteObject(bucketName, bucketUrl); } catch (Exception e) { e.printStackTrace(); return false; } finally { // ossClient.shutdown(); } return true; } // public static void createBucket(String bucketName) // { // //初始化 OSSClient //// ossClient = new OssClient(endPoint, accessKeyId, accessKeySecret); // // // 新建一个Bucket // Bucket bucket = ossClient.createBucket(bucketName); // System.out.println(bucket.getName()); // System.out.println(bucket.getCreationDate()); // } // // public static void main(String[] args) { // OssUploadUtil.createBucket("ssfdfsd"); // } }