From 7d418bd91417a46e7361ddac77c69c786360a84e Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期三, 23 八月 2023 14:02:32 +0800
Subject: [PATCH] #bug修复
---
src/main/java/com/zy/crm/common/service/OssService.java | 69 ++++++++++++++++++++++++++++++++--
1 files changed, 65 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/crm/common/service/OssService.java b/src/main/java/com/zy/crm/common/service/OssService.java
index f7bd76f..fc3ce79 100644
--- a/src/main/java/com/zy/crm/common/service/OssService.java
+++ b/src/main/java/com/zy/crm/common/service/OssService.java
@@ -17,7 +17,11 @@
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.net.URL;
+import java.nio.file.Path;
import java.util.Date;
+import java.nio.file.StandardCopyOption;
+import java.nio.file.Files;
+import java.nio.file.Paths;
/**
* 闃块噷浜慜SS鏈嶅姟绫�
@@ -78,6 +82,35 @@
}
throw new CoolException("500-涓婁紶澶辫触");
}
+ public String upload(InputStream inputStream, String suffix,String contentType){
+ if(suffix.trim().equals("file")){
+ suffix="jpg";
+ }
+ OSSClient ossClient = new OSSClient(OSS_ENDPOINT, accessKeyId, accessKeySecret);
+ String name = "";
+ try {
+ if (!ossClient.doesBucketExist(bucket)) {
+ ossClient.createBucket(bucket);
+ log.info("鎮ㄧ殑Bucket涓嶅瓨鍦紝鍒涘缓Bucket锛歿}",bucket);
+ }
+ name = String.valueOf(snowflakeIdWorker.nextId()).concat(".").concat(suffix);
+ // 娣诲姞 ContentType
+ ObjectMetadata objectMetadata = new ObjectMetadata();
+// objectMetadata.setContentType("image/jpg");
+ objectMetadata.setContentType(contentType);
+ ossClient.putObject(bucket, name, inputStream, objectMetadata);
+ Date expiration = new Date(new Date().getTime() + 3600L * 1000 * 24 * 365 * 100);
+ URL url = ossClient.generatePresignedUrl(bucket, name, expiration);
+ log.info("OSS鏂囦欢涓婁紶鎴愬姛: {}", name);
+// return String.valueOf(url);
+ return "http://zhongyang-ftpserver.oss-cn-hangzhou.aliyuncs.com/"+name;
+ } catch (Exception e){
+ e.printStackTrace();
+ } finally {
+ ossClient.shutdown();
+ }
+ throw new CoolException("500-涓婁紶澶辫触");
+ }
public String upload(InputStream inputStream) {
return upload(inputStream, ".jpg");
@@ -86,19 +119,47 @@
/**
* 涓嬭浇OSS鏂囦欢
*/
- public void download(String name) {
+// public void download(String name) {
+// OSSClient ossClient = new OSSClient(OSS_ENDPOINT, accessKeyId, accessKeySecret);
+// try {
+// OSSObject ossObject = ossClient.getObject(bucket, name);
+// InputStream inputStream = ossObject.getObjectContent();
+// // do transfer
+// inputStream.close();
+// log.info("OSS鏂囦欢涓嬭浇鎴愬姛: {}", name);
+// } catch (Exception e){
+// e.printStackTrace();
+// } finally {
+// ossClient.shutdown();
+// }
+// }
+
+ public String download(String name) {
OSSClient ossClient = new OSSClient(OSS_ENDPOINT, accessKeyId, accessKeySecret);
try {
OSSObject ossObject = ossClient.getObject(bucket, name);
InputStream inputStream = ossObject.getObjectContent();
- // do transfer
+
+ // 鑾峰彇榛樿涓嬭浇鐩綍
+ String defaultDownloadDir = System.getProperty("user.home") + "/Downloads";
+
+ // 鍒涘缓鏂囦欢淇濆瓨璺緞
+ Path filePath = Paths.get(defaultDownloadDir, name);
+
+ // 灏嗚緭鍏ユ祦澶嶅埗鍒版枃浠�
+ Files.copy(inputStream, filePath, StandardCopyOption.REPLACE_EXISTING);
+
+ // 鍏抽棴杈撳叆娴�
inputStream.close();
- log.info("OSS鏂囦欢涓嬭浇鎴愬姛: {}", name);
- } catch (Exception e){
+
+ log.info("OSS鏂囦欢涓嬭浇鎴愬姛锛屼繚瀛樿矾寰�: {}", filePath);
+ return ""+filePath;
+ } catch (Exception e) {
e.printStackTrace();
} finally {
ossClient.shutdown();
}
+ return "";
}
/**
--
Gitblit v1.9.1