From 8b109f923dc7c2d5c5bd351a03a5277670962aac Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 04 十二月 2023 13:05:04 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/crm/common/service/OssService.java | 150 +++++++++++++++----------------------------------
1 files changed, 46 insertions(+), 104 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 1472c11..1f11c6f 100644
--- a/src/main/java/com/zy/crm/common/service/OssService.java
+++ b/src/main/java/com/zy/crm/common/service/OssService.java
@@ -1,7 +1,6 @@
package com.zy.crm.common.service;
import com.aliyun.oss.OSSClient;
-import com.aliyun.oss.model.OSSObject;
import com.aliyun.oss.model.ObjectMetadata;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;
@@ -12,19 +11,12 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.core.io.InputStreamResource;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.io.*;
import java.net.URL;
-import java.nio.file.Path;
+import java.text.SimpleDateFormat;
import java.util.Date;
-import java.nio.file.StandardCopyOption;
-import java.nio.file.Files;
-import java.nio.file.Paths;
/**
* 闃块噷浜慜SS鏈嶅姟绫�
@@ -36,8 +28,6 @@
private static Logger log = LoggerFactory.getLogger(OssService.class);
- private static final String OSS_ENDPOINT = "http://oss-cn-hangzhou.aliyuncs.com";
-
@Value("${aliyun.oss.id}")
private String accessKeyId;
@@ -48,7 +38,10 @@
private String bucket;
@Value("${aliyun.oss.endpoint}")
- private String endpoint;
+ private String OSS_ENDPOINT;
+
+ @Value("${aliyun.oss.endpoint2}")
+ private String OSS_ENDPOINT2;
@Autowired
private SnowflakeIdWorker snowflakeIdWorker;
@@ -88,18 +81,16 @@
}
@Deprecated
- public String upload(InputStream inputStream, String suffix,String contentType){
- if(suffix.trim().equals("file")){
- suffix="jpg";
- }
+ public String upload(InputStream inputStream, String filename, String contentType) {
OSSClient ossClient = new OSSClient(OSS_ENDPOINT, accessKeyId, accessKeySecret);
String name = "";
try {
if (!ossClient.doesBucketExist(bucket)) {
ossClient.createBucket(bucket);
- log.info("鎮ㄧ殑Bucket涓嶅瓨鍦紝鍒涘缓Bucket锛歿}",bucket);
+ log.info("鎮ㄧ殑Bucket涓嶅瓨鍦紝鍒涘缓Bucket锛歿}", bucket);
}
- name = String.valueOf(snowflakeIdWorker.nextId()).concat(".").concat(suffix);
+ SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd_HHmmss");
+ name = format.format(new Date()) + "_" + filename;
// 娣诲姞 ContentType
ObjectMetadata objectMetadata = new ObjectMetadata();
// objectMetadata.setContentType("image/jpg");
@@ -109,8 +100,8 @@
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){
+ return "http://zhongyang-ftpserver.oss-cn-hangzhou.aliyuncs.com/" + name;
+ } catch (Exception e) {
e.printStackTrace();
} finally {
ossClient.shutdown();
@@ -137,81 +128,32 @@
return true;
}
- /**
- * 涓嬭浇鏂囦欢
- * @param filePath OSS璺緞
- */
- public ResponseEntity<InputStreamResource> downloadFile(String filePath) throws IOException {
- OSSClient ossClient = new OSSClient(OSS_ENDPOINT, accessKeyId, accessKeySecret);
- OSSObject ossObject = ossClient.getObject(bucket, filePath);
- InputStream inputStream = ossObject.getObjectContent();
-
- // 鍒涘缓鍝嶅簲瀹炰綋锛屽皢杈撳嚭娴佷綔涓烘枃浠跺唴瀹硅繑鍥�
- HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
- headers.setContentDispositionFormData("attachment", "output.docx");
- InputStreamResource resource = new InputStreamResource(convertToByteArrayInputStream(inputStream));
- return ResponseEntity.ok()
- .headers(headers)
- .body(resource);
- }
-
- public static ByteArrayInputStream convertToByteArrayInputStream(InputStream inputStream) throws IOException {
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- byte[] buffer = new byte[4096];
- int bytesRead;
- while ((bytesRead = inputStream.read(buffer)) != -1) {
- outputStream.write(buffer, 0, bytesRead);
- }
- byte[] data = outputStream.toByteArray();
- return new ByteArrayInputStream(data);
- }
-
- /**
- * 涓嬭浇OSS鏂囦欢
- */
-// public void download(String name) {
+// /**
+// * 涓嬭浇鏂囦欢
+// * @param filePath OSS璺緞
+// */
+// public ResponseEntity<InputStreamResource> downloadFile(String filePath) throws IOException {
// 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();
-// }
+// OSSObject ossObject = ossClient.getObject(bucket, filePath);
+// InputStream inputStream = ossObject.getObjectContent();
+//
+// // 鍒涘缓鍝嶅簲瀹炰綋锛屽皢杈撳嚭娴佷綔涓烘枃浠跺唴瀹硅繑鍥�
+// HttpHeaders headers = new HttpHeaders();
+// headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
+// headers.setContentDispositionFormData("attachment", "output.docx");
+// InputStreamResource resource = new InputStreamResource(convertToByteArrayInputStream(inputStream));
+// return ResponseEntity.ok()
+// .headers(headers)
+// .body(resource);
// }
@Deprecated
public String download(String name) {
- OSSClient ossClient = new OSSClient(OSS_ENDPOINT, accessKeyId, accessKeySecret);
- try {
- OSSObject ossObject = ossClient.getObject(bucket, name);
- InputStream inputStream = ossObject.getObjectContent();
-
- // 鑾峰彇榛樿涓嬭浇鐩綍
- 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鏂囦欢涓嬭浇鎴愬姛锛屼繚瀛樿矾寰�: {}", filePath);
- return ""+filePath;
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- ossClient.shutdown();
- }
- return "";
+ OSSClient ossClient = new OSSClient(OSS_ENDPOINT2, accessKeyId, accessKeySecret);
+ //鑾峰彇涓存椂涓嬭浇閾炬帴
+ URL url = ossClient.generatePresignedUrl(bucket, name, new Date(new Date().getTime() + 3600 * 1000));
+ log.info("OSS鏂囦欢涓存椂涓嬭浇璺緞锛孶RL璺緞: {}", url);
+ return url.toString();
}
/**
@@ -231,20 +173,20 @@
}
public static void main(String[] args) {
- File file = new File("E:\\tmp\\v2-fbbb97b977b5cebc66dc3cefab0ac981_r.jpg");
- try {
- InputStream in = new FileInputStream(file);
- OssService ossService = new OssService();
- ossService.setAccessKeyId("LTAI4GDzr6ioSHuRw2mk22ug");
- ossService.setAccessKeySecret("84CHL7tF21LbU1qpaP0jn9mIAZP9bv");
- ossService.setBucket("tjdt");
- ossService.setEndpoint("http://oss-cn-hangzhou.aliyuncs.com");
- ossService.setSnowflakeIdWorker(new SnowflakeIdWorker());
- System.out.println(ossService.upload(in));
-
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
+// File file = new File("E:\\tmp\\v2-fbbb97b977b5cebc66dc3cefab0ac981_r.jpg");
+// try {
+// InputStream in = new FileInputStream(file);
+// OssService ossService = new OssService();
+// ossService.setAccessKeyId("LTAI4GDzr6ioSHuRw2mk22ug");
+// ossService.setAccessKeySecret("84CHL7tF21LbU1qpaP0jn9mIAZP9bv");
+// ossService.setBucket("tjdt");
+// ossService.setEndpoint("http://oss-cn-hangzhou.aliyuncs.com");
+// ossService.setSnowflakeIdWorker(new SnowflakeIdWorker());
+// System.out.println(ossService.upload(in));
+//
+// } catch (FileNotFoundException e) {
+// e.printStackTrace();
+// }
}
}
--
Gitblit v1.9.1