Explorar el Código

Merge remote-tracking branch 'origin/feature-v4-20220801' into feature-v4-20220801

dengsixing hace 2 años
padre
commit
9c596af09a

+ 7 - 0
4dkankan-utils-fyun-local/src/main/java/com/fdkankan/fyun/local/LocalFileService.java

@@ -7,6 +7,7 @@ import com.fdkankan.fyun.face.AbstractFYunFileService;
 import com.fdkankan.fyun.local.constant.LocalConstants;
 import java.io.File;
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -34,6 +35,12 @@ public class LocalFileService extends AbstractFYunFileService {
     }
 
     @Override
+    public String uploadFile(String bucket, InputStream inputStream, String remoteFilePath) {
+        FileUtil.writeFromStream(inputStream,getOssPath(bucket, remoteFilePath));
+        return null;
+    }
+
+    @Override
     public String uploadFile(String bucket, String filePath, String remoteFilePath, Map<String, String> headers) {
         if (!new File(filePath).exists()) {
             log.error("文件不存在,不予上传:{}", filePath);

+ 12 - 0
4dkankan-utils-fyun-oss/src/main/java/com/fdkankan/fyun/oss/OssFileService.java

@@ -45,6 +45,18 @@ public class OssFileService extends AbstractFYunFileService {
     }
 
     @Override
+    public String uploadFile(String bucket, InputStream inputStream, String remoteFilePath) {
+        try {
+            ossClient.putObject(bucket, remoteFilePath, inputStream);
+            log.info("文件流上传成功,目标路径:path:{}", remoteFilePath);
+        } catch (Exception e) {
+            log.error("oss上传文件失败", e);
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    @Override
     public String uploadFile(String bucket, String filePath, String remoteFilePath, Map<String, String> headers) {
         try {
             File file = new File(filePath);

+ 7 - 0
4dkankan-utils-fyun-parent/src/main/java/com/fdkankan/fyun/face/AbstractFYunFileService.java

@@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.List;
 import java.util.Map;
 
@@ -45,6 +46,12 @@ public abstract class AbstractFYunFileService implements FYunFileServiceInterfac
     }
 
     @Override
+    public String uploadFile(InputStream inputStream, String remoteFilePath) {
+        uploadFile(fYunFileConfig.getBucket(), inputStream, remoteFilePath);
+        return fYunFileConfig.getHost().concat(remoteFilePath);
+    }
+
+    @Override
     public String uploadFileByCommand(String filePath, String remoteFilePath) {
         uploadFileByCommand(fYunFileConfig.getBucket(), filePath, remoteFilePath);
         return fYunFileConfig.getHost().concat(remoteFilePath);

+ 20 - 0
4dkankan-utils-fyun-parent/src/main/java/com/fdkankan/fyun/face/FYunFileServiceInterface.java

@@ -3,6 +3,7 @@ package com.fdkankan.fyun.face;
 import org.springframework.stereotype.Component;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.List;
 import java.util.Map;
 
@@ -54,6 +55,25 @@ public interface FYunFileServiceInterface {
      * 上传本地文件
      *
      * @param bucket         目标bucket
+     * @param inputStream       文件流
+     * @param remoteFilePath 上传后的文件路径
+     * @return 因为目前一个bucket对应一个域名,因此暂时无法确定上传后的文件路径,因此返回null
+     */
+    String uploadFile(String bucket, InputStream inputStream, String remoteFilePath) ;
+
+    /**
+     * 上传本地文件至系统默认bucket
+     *
+     * @param inputStream       文件流
+     * @param remoteFilePath 上传后的文件路径
+     * @return 返回上传文件的链接
+     */
+    String uploadFile(InputStream inputStream, String remoteFilePath) ;
+
+    /**
+     * 上传本地文件
+     *
+     * @param bucket         目标bucket
      * @param filePath       本地路径
      * @param remoteFilePath 上传后的文件路径
      * @param headers 文件头

+ 11 - 0
4dkankan-utils-fyun-s3/src/main/java/com/fdkankan/fyun/s3/S3FileService.java

@@ -48,6 +48,17 @@ public class S3FileService extends AbstractFYunFileService {
     }
 
     @Override
+    public String uploadFile(String bucket, InputStream inputStream, String remoteFilePath) {
+        try {
+            s3.putObject(bucket, remoteFilePath, inputStream, null);
+        } catch (Exception e) {
+            log.error("文件流上传失败,目标路径:{}", remoteFilePath);
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    @Override
     public String uploadFile(String bucket, String filePath, String remoteFilePath,Map<String, String> headers){
         try {
             File file = new File(filePath);