From 431dde90aa20f7652092fc0bfa9e6a1a28b06b9f Mon Sep 17 00:00:00 2001
From: jiangqs <343695869@qq.com>
Date: 星期日, 06 八月 2023 12:41:23 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/HongRuiTang

---
 ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java |   75 +++++++++++++++++++++++++++++++++++--
 1 files changed, 70 insertions(+), 5 deletions(-)

diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java
index fc18bc6..939dc5e 100644
--- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java
+++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java
@@ -1,16 +1,17 @@
 package com.ruoyi.file.utils;
 
+import cn.hutool.extra.qrcode.QrCodeUtil;
 import com.aliyun.oss.ClientException;
 import com.aliyun.oss.OSS;
 import com.aliyun.oss.OSSClientBuilder;
 import com.aliyun.oss.OSSException;
+import com.aliyun.oss.model.OSSObject;
 import com.aliyun.oss.model.PutObjectRequest;
 import com.aliyun.oss.model.PutObjectResult;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.File;
-import java.io.InputStream;
+import java.io.*;
 import java.util.Calendar;
 
 /**
@@ -22,6 +23,17 @@
  */
 public class OBSUploadUtils {
 
+    public static void main(String[] args) throws Exception {
+        String fileUrl = null;
+        File qrCodeFile = new File("/home/image/qrcode.png");
+        // 二维码内容
+        String text = "https://wxapp.hhhrt.cn/mini/coupon";
+        // 生成二维码
+        QrCodeUtil.generate(text, 100, 100, qrCodeFile);
+        InputStream codeStream = new FileInputStream(qrCodeFile);
+        fileUrl =  OBSUploadUtils.uploadInputStream(codeStream,"couponCode");
+        System.out.println(fileUrl);
+    }
 
     protected static OSS createOss(){
         // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
@@ -58,6 +70,55 @@
             String prefix = fileName.substring(fileName.lastIndexOf("."));
             String objectName = filePath + uuid + prefix;
             InputStream inputStream = file.getInputStream();
+            // 创建PutObjectRequest对象。
+            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);
+            // 设置该属性可以返回response。如果不设置,则返回的response为空。
+            putObjectRequest.setProcess("true");
+            // 创建PutObject请求。
+            result = ossClient.putObject(putObjectRequest);
+            // 如果上传成功,则返回200。
+            System.out.println(fileName + "上传返回" + result.getResponse().getStatusCode());
+            return result.getResponse().getUri();
+        } catch (OSSException oe) {
+            System.out.println("Caught an OSSException, which means your request made it to OSS, "
+                    + "but was rejected with an error response for some reason.");
+            System.out.println("Error Message:" + oe.getErrorMessage());
+            System.out.println("Error Code:" + oe.getErrorCode());
+            System.out.println("Request ID:" + oe.getRequestId());
+            System.out.println("Host ID:" + oe.getHostId());
+        } catch (ClientException ce) {
+            System.out.println("Caught an ClientException, which means the client encountered "
+                    + "a serious internal problem while trying to communicate with OSS, "
+                    + "such as not being able to access the network.");
+            System.out.println("Error Message:" + ce.getMessage());
+        } finally {
+            if (ossClient != null) {
+                ossClient.shutdown();
+            }
+        }
+        return result.getResponse().getErrorResponseAsString();
+    }
+
+    public static String uploadInputStream (InputStream inputStream,String fileName) throws Exception {
+
+        // 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
+        String bucketName = "hongruitang";
+        Calendar calendar = Calendar.getInstance();
+        // 获取当前年
+        String year = String.valueOf(calendar.get(Calendar.YEAR));
+        // 获取当前月
+        String month = String.valueOf(calendar.get(Calendar.MONTH) + 1);
+        // 获取当前日
+        String day = String.valueOf(calendar.get(Calendar.DATE));
+        String filePath = year+"/"+month+"/"+day+"/";
+        String uuid = IdUtils.fastSimpleUUID();
+        // 创建OSSClient实例。
+        OSS ossClient = createOss();
+        PutObjectResult result = null;
+        try {
+
+            System.out.println(fileName + "开始上传");
+            String objectName = filePath + fileName + ".jpg";
             // 创建PutObjectRequest对象。
             PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);
             // 设置该属性可以返回response。如果不设置,则返回的response为空。
@@ -134,9 +195,13 @@
         return result.getResponse().getErrorResponseAsString();
     }
 
-    public static void getOSSFile(String key) throws Exception {
-
-
+    public static InputStream getOSSInputStream(String key) throws Exception {
+        String bucketName = "hongruitang";
+        // 创建OSSClient实例。
+        OSS ossClient = createOss();
+        OSSObject ossObject = ossClient.getObject(bucketName,key);
+        InputStream inputStream = ossObject.getObjectContent();
+        return inputStream;
     }
 
 }

--
Gitblit v1.7.1