From 96286178ee1c257c130cb2ad964a781f36c4eee5 Mon Sep 17 00:00:00 2001 From: yn147 <2270338776@qq.com> Date: 星期三, 10 五月 2023 16:23:27 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/qxueyou/scc/teach/res/service/impl/HweiYunOBSServiceImpl.java | 49 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 34 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/teach/res/service/impl/HweiYunOBSServiceImpl.java b/src/main/java/com/qxueyou/scc/teach/res/service/impl/HweiYunOBSServiceImpl.java index 83e5ca1..8589af1 100644 --- a/src/main/java/com/qxueyou/scc/teach/res/service/impl/HweiYunOBSServiceImpl.java +++ b/src/main/java/com/qxueyou/scc/teach/res/service/impl/HweiYunOBSServiceImpl.java @@ -1,29 +1,32 @@ package com.qxueyou.scc.teach.res.service.impl; - + //import com.example.study.springboot.background.service.HweiYunOBSService; //import com.example.study.springboot.config.HweiOBSConfig; import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; import com.obs.services.model.*; +import com.qxueyou.scc.base.model.FileMeta; +import com.qxueyou.scc.base.model.Result; import com.qxueyou.scc.base.util.CollectionUtils; import com.qxueyou.scc.base.util.QFileUtils; import com.qxueyou.scc.base.util.UUIDUtils; import com.qxueyou.scc.config.HweiOBSConfig; +import com.qxueyou.scc.teach.res.model.ResFile; import com.qxueyou.scc.teach.res.service.HweiYunOBSService; +import com.qxueyou.scc.teach.res.service.IFileService; import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.core.ApplicationPart; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; - + +import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; -import java.util.Calendar; -import java.util.GregorianCalendar; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @ClassName: HweiYunOBSServiceImpl @@ -39,6 +42,9 @@ private final Logger log = LogManager.getLogger(HweiYunOBSServiceImpl.class); @Autowired private HweiOBSConfig hweiOBSConfig; + + @Autowired + FileService fileService; public final static String FILE_TYPE_VIDEO = "video"; @@ -65,7 +71,7 @@ "JPG", FILE_TYPE_IMG,"JPEG", FILE_TYPE_IMG, "GIF", FILE_TYPE_IMG, "BMP", FILE_TYPE_IMG, "PNG", FILE_TYPE_IMG ); - + @Override public boolean delete(String objectKey) { ObsClient obsClient = null; @@ -81,7 +87,7 @@ } return true; } - + @Override public boolean delete(List<String> objectKeys) { ObsClient obsClient = null; @@ -99,10 +105,13 @@ } return false; } - + + @Override - public String fileUpload(MultipartFile uploadFile, String objectKey) { + public List<FileMeta> fileUpload(MultipartFile uploadFile, String objectKey) { ObsClient obsClient = null; + List<FileMeta> files = new ArrayList<FileMeta>(2); + FileMeta fileMeta = null; try { String destPath = getDestPath(objectKey); String bucketName = hweiOBSConfig.getBucketName(); @@ -118,19 +127,29 @@ } InputStream inputStream = uploadFile.getInputStream(); long available = inputStream.available(); -// PutObjectRequest request = new PutObjectRequest(bucketName,objectKey,inputStream); PutObjectRequest request = new PutObjectRequest(bucketName,destPath,inputStream); ObjectMetadata objectMetadata = new ObjectMetadata(); objectMetadata.setContentLength(available); request.setMetadata(objectMetadata); -// request. // 璁剧疆瀵硅薄璁块棶鏉冮檺涓哄叕鍏辫 request.setAcl(AccessControlList.REST_CANNED_PUBLIC_READ); PutObjectResult result = obsClient.putObject(request); - + fileMeta = new FileMeta(); + ResFile file = fileService.insertFileToDBTwo(objectKey, uploadFile.getSize(), result.getObjectUrl(), uploadFile.getContentType()); +// SetObjectMetadataRequest ObjectMetadataRequest = new SetObjectMetadataRequest(bucketName, destPath); +// ObjectMetadataRequest.setContentDisposition("inline"); +// obsClient.setObjectMetadata(ObjectMetadataRequest); + + fileMeta.setFileId(file.getFileId()); + fileMeta.setPath(result.getObjectUrl()); + fileMeta.setFileSize(uploadFile.getSize() / 1024 + "kb"); + fileMeta.setFileType(uploadFile.getContentType()); + fileMeta.setFileName(objectKey); + files.add(fileMeta); // 璇诲彇璇ュ凡涓婁紶瀵硅薄鐨刄RL log.info("宸蹭笂浼犲璞$殑URL" + result.getObjectUrl()); - return result.getObjectUrl(); + return files; +// return result.getObjectUrl(); } catch (ObsException e) { log.error("obs涓婁紶澶辫触", e); } catch (IOException e) { @@ -182,4 +201,4 @@ } return null; } -} \ No newline at end of file +} -- Gitblit v1.8.0