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");
|
// }
|
}
|