From e317f9a2aed027551fae194c4ee55573ecdcccc8 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 11 三月 2024 14:42:30 +0800
Subject: [PATCH] 订单搜索Bug修复
---
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java | 127 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 125 insertions(+), 2 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 0d8bb1d..3959fe9 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,21 @@
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.FileInputStream;
import java.io.InputStream;
import java.util.Calendar;
+import java.util.Date;
/**
* @author jqs34
@@ -21,6 +26,19 @@
*/
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请按实际情况填写。
@@ -51,9 +69,8 @@
OSS ossClient = createOss();
PutObjectResult result = null;
try {
-
String fileName = FileUploadUtils.extractFilename(file);
- System.out.println(fileName + "开始上传");
+ System.out.println(fileName + "开始上传" + new Date());
String prefix = fileName.substring(fileName.lastIndexOf("."));
String objectName = filePath + uuid + prefix;
InputStream inputStream = file.getInputStream();
@@ -63,6 +80,103 @@
putObjectRequest.setProcess("true");
// 创建PutObject请求。
result = ossClient.putObject(putObjectRequest);
+ // 如果上传成功,则返回200。
+ System.out.println(fileName + "上传返回"+ new Date() + result.getResponse().getStatusCode());
+ inputStream.close();
+ 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 + "开始上传"+ new Date());
+ String objectName = filePath + fileName + ".jpg";
+ // 创建PutObjectRequest对象。
+ PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);
+ // 设置该属性可以返回response。如果不设置,则返回的response为空。
+ putObjectRequest.setProcess("true");
+ // 创建PutObject请求。
+ result = ossClient.putObject(putObjectRequest);
+ // 如果上传成功,则返回200。
+ System.out.println(fileName + "上传返回"+ new Date() + 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 uploadLocalFile (File file) 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 {
+
+ String fileName =file.getName();
+ System.out.println(fileName + "开始上传");
+ String prefix = fileName.substring(fileName.lastIndexOf("."));
+ String objectName = filePath + uuid + prefix;
+ // 创建PutObject请求。
+ result = ossClient.putObject(bucketName,objectName,file);
// 如果上传成功,则返回200。
System.out.println(fileName + "上传返回" + result.getResponse().getStatusCode());
return result.getResponse().getUri();
@@ -86,4 +200,13 @@
return result.getResponse().getErrorResponseAsString();
}
+ 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