From 564bf7ab6a639c2c4557d35b8fd9b51dca60a738 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 22 八月 2023 13:32:34 +0800 Subject: [PATCH] #规则完善 --- 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