From dc4a121795188febcc60ef39346c519c852b6c93 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期一, 06 十一月 2023 15:11:36 +0800 Subject: [PATCH] # --- src/main/java/com/zy/crm/common/service/OssService.java | 97 ++++++++++++++---------------------------------- 1 files changed, 29 insertions(+), 68 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..fcd156e 100644 --- a/src/main/java/com/zy/crm/common/service/OssService.java +++ b/src/main/java/com/zy/crm/common/service/OssService.java @@ -21,6 +21,7 @@ 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; @@ -88,18 +89,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 +108,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,24 +136,24 @@ 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); - } +// /** +// * 涓嬭浇鏂囦欢 +// * @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(); @@ -167,51 +166,13 @@ return new ByteArrayInputStream(data); } - /** - * 涓嬭浇OSS鏂囦欢 - */ -// 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(); -// } -// } - @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 ""; + //鑾峰彇涓存椂涓嬭浇閾炬帴 + URL url = ossClient.generatePresignedUrl(bucket, name, new Date(new Date().getTime() + 3600 * 1000)); + log.info("OSS鏂囦欢涓存椂涓嬭浇璺緞锛孶RL璺緞: {}", url); + return url.toString(); } /** -- Gitblit v1.9.1