|
@@ -1,5 +1,6 @@
|
|
|
package com.jeeplus.pubmodules.oss.service;
|
|
|
|
|
|
+import cn.hutool.extra.spring.SpringUtil;
|
|
|
import com.aliyun.oss.OSS;
|
|
|
import com.aliyun.oss.OSSClient;
|
|
|
import com.aliyun.oss.OSSClientBuilder;
|
|
@@ -7,9 +8,13 @@ import com.aliyun.oss.model.OSSObject;
|
|
|
import com.aliyun.oss.model.PutObjectResult;
|
|
|
import com.aliyun.oss.model.SimplifiedObjectMeta;
|
|
|
//import com.jeeplus.sys.utils.Global;
|
|
|
+import com.jeeplus.sys.feign.IWorkAttachmentApi;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+import org.springframework.mock.web.MockMultipartFile;
|
|
|
|
|
|
import java.io.*;
|
|
|
import java.net.URL;
|
|
@@ -66,6 +71,47 @@ public class OSSClientService {
|
|
|
log.info("上传文件到云服务器成功,文件名:{},耗时:{}ms",fileName,end-start);
|
|
|
return ret;
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 上传到OSS服务器 如果同名文件会覆盖服务器上的
|
|
|
+ *
|
|
|
+ * @param fileName 文件名称 包括后缀名
|
|
|
+ * @return 出错返回"" ,唯一MD5数字签名
|
|
|
+ */
|
|
|
+ public String uploadFileSignatureOSS(String filePath, String fileDir, String fileName) {
|
|
|
+ //初始化OSSClient
|
|
|
+ OSSClient ossClient = new OSSClient(endpoint,accessKeyId,accessKeySecret);
|
|
|
+ File f = new File(filePath);
|
|
|
+
|
|
|
+ try {
|
|
|
+ MultipartFile cMultiFile = new MockMultipartFile("file", f.getName(), null, new FileInputStream(f));
|
|
|
+ if (!cMultiFile.isEmpty()) {
|
|
|
+ //文件原名称
|
|
|
+ String newName = cMultiFile.getOriginalFilename();
|
|
|
+ InputStream inStream = cMultiFile.getInputStream();
|
|
|
+ if(StringUtils.isNotBlank(newName)){
|
|
|
+
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ //上传文件
|
|
|
+ PutObjectResult putResult = ossClient.putObject(bucketName, fileDir + fileName, inStream);
|
|
|
+ String ret = putResult.getETag();
|
|
|
+
|
|
|
+ try {
|
|
|
+ if (inStream != null) {
|
|
|
+ inStream.close();
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ long end = System.currentTimeMillis();
|
|
|
+ log.info("上传文件到云服务器成功,文件名:{},耗时:{}ms",fileName,end-start);
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 获得url链接
|