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 0c96522..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; @@ -129,7 +137,7 @@ Res res = read(Res.class, resId); - resItemServiceMap.get(res.getType()).update(res.getItemDestId(), name); +// resItemServiceMap.get(res.getType()).update(res.getItemDestId(), name); TraceUtils.setUpdateTrace(res); res.setName(name); @@ -306,17 +314,26 @@ public Result readAccessPath(String resId, String attribute) { Res res = read(Res.class, resId); - // 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(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())) { +// 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