From 92027c9960c8e4e8d84db11c2c422254a5b7d38c Mon Sep 17 00:00:00 2001 From: Administrator <2863138610@qq.com> Date: 星期二, 06 十二月 2022 16:00:03 +0800 Subject: [PATCH] 华为云obs上传 --- src/main/java/com/qxueyou/scc/teach/res/service/impl/HweiYunOBSServiceImpl.java | 41 ++++++++++++++++++++++++++++------------- 1 files changed, 28 insertions(+), 13 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..7343731 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,31 @@ 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 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 +41,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 +70,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 +86,7 @@ } return true; } - + @Override public boolean delete(List<String> objectKeys) { ObsClient obsClient = null; @@ -99,10 +104,12 @@ } 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(); @@ -127,10 +134,18 @@ // 璁剧疆瀵硅薄璁块棶鏉冮檺涓哄叕鍏辫 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()); + 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 +197,4 @@ } return null; } -} \ No newline at end of file +} -- Gitblit v1.8.0