From ab060213fe5b62ba8bf9b87c8a93ba7e9fea05db Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期六, 02 四月 2022 11:39:01 +0800
Subject: [PATCH] 单灯数据导出

---
 sandu-common/src/main/java/com/sandu/common/file/impl/AliOssFileServiceImpl.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)

diff --git a/sandu-common/src/main/java/com/sandu/common/file/impl/AliOssFileServiceImpl.java b/sandu-common/src/main/java/com/sandu/common/file/impl/AliOssFileServiceImpl.java
index a158728..ac43eab 100644
--- a/sandu-common/src/main/java/com/sandu/common/file/impl/AliOssFileServiceImpl.java
+++ b/sandu-common/src/main/java/com/sandu/common/file/impl/AliOssFileServiceImpl.java
@@ -21,6 +21,7 @@
 import javax.imageio.ImageIO;
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
+import java.io.File;
 import java.io.IOException;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -105,4 +106,56 @@
 
         return uploadDto;
     }
+
+    public FileUploadDto uploadFile(File multipartFile) {
+        String originalFilename = multipartFile.getName();
+//        long size = multipartFile.get();
+        String suffix = FileUtil.getSuffix(originalFilename);
+        String dayStr = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmm"));
+        String fileName = dayStr + UUID.fastUUID()+ "." + suffix;
+
+        FileUploadDto uploadDto = new FileUploadDto();
+        OSS ossClient = new OSSClientBuilder().build(endPoint, keyId, keySecret);
+        try {
+            //瀹瑰櫒涓嶅瓨鍦紝灏卞垱寤�
+            if (!ossClient.doesBucketExist(bucketName)) {
+                ossClient.createBucket(bucketName);
+                CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName);
+                createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
+                ossClient.createBucket(createBucketRequest);
+            }
+            //涓婁紶鏂囦欢
+            PutObjectResult result = ossClient.putObject(new PutObjectRequest(bucketName, fileName, multipartFile));
+            //璁剧疆鏉冮檺 杩欓噷鏄叕寮�璇�
+//            ossClient.setBucketAcl(ossProperties.getBucketName(), CannedAccessControlList.PublicRead);
+
+            if (result != null) {
+                String url = "";
+                // https://BucketName.Endpoint/ObjectName
+                if (StrUtil.isBlank(host)) {
+                    url = "https://" + bucketName + "." + endPoint + "/" + fileName;
+                } else {
+                    if (!host.endsWith("/")) {
+                        url = host + "/" + fileName;
+                    } else {
+                        url = host + fileName;
+                    }
+                }
+                uploadDto.setFileUrl(url);
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new BusinessException(e.getMessage());
+        } finally {
+            //鍏抽棴
+            ossClient.shutdown();
+        }
+
+        uploadDto.setOriginName(originalFilename);
+        uploadDto.setFileName(fileName);
+        uploadDto.setFileType(FileUtil.extName(originalFilename));
+        uploadDto.setStorageType(FileStorageEnums.ALIBABA.getCode());
+
+        return uploadDto;
+    }
 }

--
Gitblit v1.9.3