From 885290e4d0d0c7fad3f538d901c616e49c3d6985 Mon Sep 17 00:00:00 2001
From: 胡仁荣 <897853850@qq.com>
Date: 星期二, 18 七月 2023 18:15:58 +0800
Subject: [PATCH] oss分块上传

---
 src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java |   35 ++++++++++++++++++++++++++---------
 1 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java b/src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java
index c6d79e1..f15eb2d 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java
@@ -6,6 +6,11 @@
 
 import javax.annotation.PostConstruct;
 
+import com.obs.services.ObsClient;
+import com.obs.services.model.HttpMethodEnum;
+import com.obs.services.model.TemporarySignatureRequest;
+import com.obs.services.model.TemporarySignatureResponse;
+import com.qxueyou.scc.config.HweiOBSConfig;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationContext;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -46,6 +51,9 @@
 
     @Autowired
     private ApplicationContext appContext;
+
+    @Autowired
+    private HweiOBSConfig hweiOBSConfig;
 
     @Autowired
     private IClassLectureService classLectureService;
@@ -306,17 +314,26 @@
     public Result readAccessPath(String resId, String attribute) {
 
         Res res = read(Res.class, resId);
-        String type="0";
 //        Object path = Res.FILE_TYPE_VIDEO.equals(res.getType())? JSONObject.parse(resItemServiceMap.get(res.getType()).readAccessPath(res.getItemDestId(), attribute)):CollectionUtils.newObjectMap("path", resItemServiceMap.get(res.getType()).readAccessPath(res.getItemDestId(), attribute));
-        Object path = Res.FILE_TYPE_VIDEO.equals(type)? resItemServiceMap.get(type).readAccessPath(res.getItemDestId(), attribute):resItemServiceMap.get(type).readAccessPath(res.getItemDestId(), attribute);
-        if(Res.FILE_TYPE_DOC.equals(res.getType())) {
+        Object path = Res.FILE_TYPE_VIDEO.equals(res.getType())? resItemServiceMap.get(res.getType()).readAccessPath(res.getItemDestId(), attribute):resItemServiceMap.get(res.getType()).readAccessPath(res.getItemDestId(), attribute);
+//        if(Res.FILE_TYPE_DOC.equals(res.getType())) {
+//        	 return new Result(true, "success",
+//                     CollectionUtils.newObjectMap("path", path, "name", res.getName(), "coverPageUrl", res.getCoverPageUrl(), "size",
+//                    		 this.classLectureService.readDocPageCount(res.getItemDestId())));//鏂囦欢鐨勯〉鏁�
+//        }else {
+        // URL鏈夋晥鏈燂紝3600绉�
+        long expireSeconds = 3600L;
+        TemporarySignatureRequest request = new TemporarySignatureRequest(HttpMethodEnum.GET, expireSeconds);
+        //璁剧疆妗跺悕,涓�鑸兘鏄啓鍦ㄩ厤缃噷锛岃繖閲岀洿鎺ヨ祴鍊煎嵆鍙�
+        request.setBucketName(hweiOBSConfig.getBucketName());
+        //杩欓噷鐩稿綋浜庤缃綘涓婁紶鍒皁bs鐨勬枃浠惰矾
+        request.setObjectKey((String) path);
+
+        ObsClient obsClient = new ObsClient(hweiOBSConfig.getAccessKey(),hweiOBSConfig.getSecurityKey(),hweiOBSConfig.getEndPoint());
+        TemporarySignatureResponse temporarySignatureResponse=obsClient.createTemporarySignature(request);
         	 return new Result(true, "success",
-                     CollectionUtils.newObjectMap("path", path, "name", res.getName(), "coverPageUrl", res.getCoverPageUrl(), "size",
-                    		 this.classLectureService.readDocPageCount(res.getItemDestId())));//鏂囦欢鐨勯〉鏁�
-        }else {
-        	 return new Result(true, "success",
-                     CollectionUtils.newObjectMap("path", path, "name", res.getName(), "coverPageUrl", res.getCoverPageUrl(), "size", 0));
-        }
+                     CollectionUtils.newObjectMap("path", temporarySignatureResponse.getSignedUrl(), "name", res.getName(), "coverPageUrl", res.getCoverPageUrl(), "size", 0));
+//        }
 
     }
 

--
Gitblit v1.8.0