ChenJiaHe
2021-05-10 c7276f4dd1968b739ff5098d517f77a4f0b7d52c
src/main/java/com/hx/util/OBSUtil.java
@@ -2,6 +2,8 @@
import com.obs.services.ObsClient;
import com.obs.services.exception.ObsException;
import com.obs.services.model.HeaderResponse;
import com.obs.services.model.ObsBucket;
import com.obs.services.model.PutObjectResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -24,12 +26,13 @@
    * @param localFile 图片文件
    * @param ak 访问秘钥
    * @param sk 访问秘钥
    * @param endPoint 存储桶
    * @param endPoint 区域
    * @param bucketName 存储桶
    * @param fileName 文件名称(带后缀),为空时自动生成
    * @return
    * @throws IOException
    */
   public static PutObjectResult uploadImg(MultipartFile localFile,String ak,String sk,String endPoint,String fileName) throws IOException {
   public static PutObjectResult uploadImg(MultipartFile localFile,String ak,String sk,String endPoint,String bucketName,String fileName) throws IOException {
      //没有名次的时候自动生成
      if(StringUtils.isNull(fileName)){
@@ -44,7 +47,7 @@
      //初始化OBS客户端
      ObsClient obsClient = new ObsClient(ak, sk, endPoint);
      try{
         putObjectResult = obsClient.putObject(endPoint, fileName,localFile.getInputStream());
         putObjectResult = obsClient.putObject(bucketName, fileName,localFile.getInputStream());
      }catch (ObsException e){
         logger.error("华为云 OBS 上传文件报错 ");
         logger.error("HTTP Code: " + e.getResponseCode());
@@ -53,6 +56,7 @@
         logger.error("Request ID:" + e.getErrorRequestId());
         logger.error("Host ID:" + e.getErrorHostId());
         e.printStackTrace();
      }finally {
         if(obsClient != null){
            obsClient.close();
@@ -67,12 +71,13 @@
    * @param localFile 存储文件
    * @param ak 访问秘钥
    * @param sk 访问秘钥
    * @param endPoint 存储桶
    * @param endPoint 区域
    * @param bucketName 存储桶
    * @param fileName 文件名称(带后缀),为空时自动生成
    * @return
    * @throws IOException
    */
   public static PutObjectResult uploadImg(File localFile,String ak,String sk,String endPoint,String fileName) throws IOException {
   public static PutObjectResult uploadImg(File localFile,String ak,String sk,String endPoint,String bucketName,String fileName) throws IOException {
      //没有名次的时候自动生成
      if(StringUtils.isNull(fileName)){
@@ -87,7 +92,7 @@
      //初始化OBS客户端
      ObsClient obsClient = new ObsClient(ak, sk, endPoint);
      try{
         putObjectResult = obsClient.putObject(endPoint, fileName,localFile);
         putObjectResult = obsClient.putObject(bucketName, fileName,localFile);
      }catch (ObsException e){
         logger.error("华为云 OBS 上传文件报错 ");
         logger.error("HTTP Code: " + e.getResponseCode());
@@ -96,6 +101,7 @@
         logger.error("Request ID:" + e.getErrorRequestId());
         logger.error("Host ID:" + e.getErrorHostId());
         e.printStackTrace();
      }finally {
         if(obsClient != null){
            obsClient.close();
@@ -105,4 +111,39 @@
   }
   /** 创建桶
    * @param ak 访问秘钥
    * @param sk 访问秘钥
    * @param endPoint 区域
    * @param bucketName 存储桶
    * @return
    * @throws IOException
    */
   public static HeaderResponse createBucket(String ak,String sk,String endPoint,String bucketName) throws IOException {
      HeaderResponse response = null;
      //初始化OBS客户端
      ObsClient obsClient = new ObsClient(ak, sk, endPoint);
      try{
         response = obsClient.createBucket(bucketName);
      }catch (ObsException e){
         logger.error("华为云 OBS 创建桶报错 ");
         logger.error("HTTP Code: " + e.getResponseCode());
         logger.error("Error Code:" + e.getErrorCode());
         logger.error("Error Message: " + e.getErrorMessage());
         logger.error("Request ID:" + e.getErrorRequestId());
         logger.error("Host ID:" + e.getErrorHostId());
         e.printStackTrace();
      }finally {
         if(obsClient != null){
            obsClient.close();
         }
      }
      return response;
   }
}