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