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/webapp/static/js/contract/contract.js | 44 +++++++-------
src/main/java/com/zy/crm/manager/controller/PlanController.java | 3
src/main/java/com/zy/crm/manager/controller/ContractController.java | 15 ++---
src/main/webapp/static/js/plan/plan.js | 4 +
src/main/java/com/zy/crm/common/service/OssService.java | 97 +++++++++----------------------
5 files changed, 60 insertions(+), 103 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();
}
/**
diff --git a/src/main/java/com/zy/crm/manager/controller/ContractController.java b/src/main/java/com/zy/crm/manager/controller/ContractController.java
index 4ec0053..573a275 100644
--- a/src/main/java/com/zy/crm/manager/controller/ContractController.java
+++ b/src/main/java/com/zy/crm/manager/controller/ContractController.java
@@ -271,7 +271,7 @@
//鏂囦欢鍚庣紑鍚�
String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
//涓婁紶鏂囦欢鍚�
- String filename = format.format(new Date()) + suffix;
+ String filename = format.format(new Date()) + "_" + file.getOriginalFilename();
//鏈�缁堟枃浠惰矾寰�
String filepath = path + "/" + filename;
//OSS鏂囦欢瀛樺偍璺緞
@@ -299,20 +299,17 @@
@RequestMapping(value = "/contract/download/auth")
@ManagerAuth(memo = "涓嬭浇鍚堝悓")
- public ResponseEntity<InputStreamResource> download(@RequestParam("id") Integer id) {
+ public R download(@RequestParam("id") Integer id) {
Contract contract = contractService.selectById(id);
if (contract == null) {
- return null;
+ return R.error();
}
if (Cools.isEmpty(contract.getFilepath())) {
- return null;
+ return R.error();
}
- try {
- return ossService.downloadFile(contract.getFilepath());//浠嶰SS涓笅杞芥枃浠�
- } catch (Exception e) {
- return null;
- }
+ String download = ossService.download(contract.getFilepath());//鑾峰彇OSS涓存椂涓嬭浇URL
+ return R.ok().add(download);
}
@RequestMapping(value = "/contract/export/auth")
diff --git a/src/main/java/com/zy/crm/manager/controller/PlanController.java b/src/main/java/com/zy/crm/manager/controller/PlanController.java
index eb74659..c6bf694 100644
--- a/src/main/java/com/zy/crm/manager/controller/PlanController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -262,8 +262,7 @@
InputStream inputStream = file.getInputStream();
// 鑾峰彇鏂囦欢鐨勫唴瀹圭被鍨�
String contentType = file.getContentType();
- String suffix = getFileSuffix(file.getOriginalFilename());
- String url = ossService.upload(inputStream, suffix,contentType);
+ String url = ossService.upload(inputStream, file.getOriginalFilename(), contentType);
// String url = "http://tjdt.oss-cn-hangzhou.aliyuncs.com/"+file.getOriginalFilename();
String[] names = url.split("com/");
String name= names[1];
diff --git a/src/main/webapp/static/js/contract/contract.js b/src/main/webapp/static/js/contract/contract.js
index 564887d..48362f9 100644
--- a/src/main/webapp/static/js/contract/contract.js
+++ b/src/main/webapp/static/js/contract/contract.js
@@ -432,30 +432,28 @@
headers: {'token': localStorage.getItem('token')},
data: data,
method: 'GET',
- xhrFields: {
- responseType: "blob" // 璁剧疆鍝嶅簲绫诲瀷涓轰簩杩涘埗鏁版嵁
- },
success: function (res) {
- // 鍒涘缓涓�涓复鏃剁殑涓嬭浇閾炬帴
- const url = window.URL.createObjectURL(res);
- // 鍒涘缓涓�涓殣钘忕殑 <a> 鍏冪礌骞惰缃笅杞介摼鎺�
- const a = document.createElement("a");
- a.style.display = "none";
- a.href = url;
-
- let list = data.filepath.split(".")
- let suffix = "." + list[list.length - 1]//鑾峰彇鍚庣紑鍚�
- a.download = data.name + suffix; // 鎸囧畾涓嬭浇鐨勬枃浠跺悕
- document.body.appendChild(a);
-
- // 瑙﹀彂鐐瑰嚮浜嬩欢浠ュ紑濮嬩笅杞�
- a.click();
-
- // 娓呯悊涓存椂璧勬簮
- setTimeout(function () {
- window.URL.revokeObjectURL(url);
- document.body.removeChild(a);
- }, 100);
+ location.href = res.data
+ // // 鍒涘缓涓�涓复鏃剁殑涓嬭浇閾炬帴
+ // const url = window.URL.createObjectURL(res);
+ // // 鍒涘缓涓�涓殣钘忕殑 <a> 鍏冪礌骞惰缃笅杞介摼鎺�
+ // const a = document.createElement("a");
+ // a.style.display = "none";
+ // a.href = url;
+ //
+ // let list = data.filepath.split(".")
+ // let suffix = "." + list[list.length - 1]//鑾峰彇鍚庣紑鍚�
+ // a.download = data.name + suffix; // 鎸囧畾涓嬭浇鐨勬枃浠跺悕
+ // document.body.appendChild(a);
+ //
+ // // 瑙﹀彂鐐瑰嚮浜嬩欢浠ュ紑濮嬩笅杞�
+ // a.click();
+ //
+ // // 娓呯悊涓存椂璧勬簮
+ // setTimeout(function () {
+ // window.URL.revokeObjectURL(url);
+ // document.body.removeChild(a);
+ // }, 100);
}
});
}
diff --git a/src/main/webapp/static/js/plan/plan.js b/src/main/webapp/static/js/plan/plan.js
index 518566f..f85a6bc 100644
--- a/src/main/webapp/static/js/plan/plan.js
+++ b/src/main/webapp/static/js/plan/plan.js
@@ -646,7 +646,9 @@
data: { downloadUrl: downloadUrl }, // 浼犻�掍笅杞介摼鎺ヤ綔涓哄弬鏁�
success: function(response) {
console.log(response)
- layer.msg(response.msg+',宸蹭笅杞借嚦榛樿璺緞锛佽缁嗕笅杞借矾寰勶細'+response.data, {icon: 1});
+ // layer.msg(response.msg+',宸蹭笅杞借嚦榛樿璺緞锛佽缁嗕笅杞借矾寰勶細'+response.data, {icon: 1});
+ layer.msg(response.msg, {icon: 1});
+ location.href = response.data
// // window.open(baseUrl+response.msg)
// // 鍒涘缓涓�涓狟lob瀵硅薄
// var blob = new Blob([response]);
--
Gitblit v1.9.1