huangtf 2 лет назад
Родитель
Сommit
c25c719e7d

+ 4 - 14
blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/NewIOSSClient.java

@@ -28,20 +28,10 @@ public interface NewIOSSClient {
     @PostMapping(UPLOAD_FILE_INFO)
     BladeFile uploadFile(@RequestParam String fileName, @RequestParam String localFileUrl);
 
-    /**
-     *  规则  projectId/filePath/fileName,
-     *  如果projectId为空则为filePath/fileName
-     *  如果filePath为空,则为 upload/20230202/fileName
-     *  如果filePath为OssConstant.TEMP_DIRECTORY,一律放进临时目录 OssConstant.TEMP_DIRECTORY/fileName
-     * @param fileName
-     * @param localFileUrl
-     * @param filePath
-     * @param projectId
-     * @return
-     */
-    @PostMapping(UPLOAD_FILE_INFO_WITH_PATH)
-    BladeFile uploadFile(@RequestParam String fileName, @RequestParam  String localFileUrl,
-                         @RequestParam(required=false)  String filePath,@RequestParam(required=false) Long projectId);
+
+//    @PostMapping(UPLOAD_FILE_INFO_WITH_PATH)
+//    BladeFile uploadFile(@RequestParam String fileName, @RequestParam  String localFileUrl,
+//                         @RequestParam(required=false)  String filePath,@RequestParam(required=false) Long projectId);
 
     @PostMapping(UPLOAD_FILE_INFO_BYTE)
     BladeFile updateFile(@RequestBody byte[] fileByte, @RequestParam String fileName);

+ 55 - 53
blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/ossre/AliossTemplateRe.java

@@ -173,7 +173,7 @@ public class AliossTemplateRe implements OssTemplateRe {
         try {
             this.makeBucket(bucketName);
             String originalName = key;
-            key = this.getFileName(key);
+            //key = this.getFileName(key);
             if(key.indexOf("/")>=0){
                 originalName = key.substring(key.lastIndexOf("/")+1 , key.length());
             }else{
@@ -318,58 +318,60 @@ public class AliossTemplateRe implements OssTemplateRe {
         return initResult;
     }
 
-    public BladeFile putFileWithPath(String fileName, String filePath,Long projectId, InputStream stream) {
-        try {
-
-            String suffix = "";
-            int indexOfDot = fileName.lastIndexOf('.');
-            if (indexOfDot > 0) {
-                suffix = fileName.substring(indexOfDot + 1);
-            }
-
-            String ossUrl = "";
-            // 判断容器是否存在,不存在就创建
-            String bucket=getBucketName();
-            if (!ossClient.doesBucketExist(bucket)) {
-                ossClient.createBucket(bucket);
-                CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucket);
-                createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
-                ossClient.createBucket(createBucketRequest);
-            }
-            // 设置文件路径和名称
-            //判断是否为存储成   upload/20230322/xxxx.pdf 还是指定目录 aaaa/bbbb.pdf
-            if (StringUtils.isEmpty(filePath)) {
-                Date now = new Date();
-                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
-                String formattedDate = sdf.format(now);
-                filePath = OssConstant.NORMAL_DIRECTORY + "/" + formattedDate;
-            }
-
-            //如果有项目ID,则存为 项目id/....  ,否则直接在最外层, 临时目录除外
-            if (!filePath.equals(OssConstant.TEMP_DIRECTORY)) {
-                if (projectId != null  ) {
-                    filePath = projectId + "/" + filePath;
-                }
-            }
-
-            String fileUrl = filePath + "/" + fileName;
-            ObjectMetadata objectMetadata = new ObjectMetadata();
-            objectMetadata.setContentType(getcontentType(suffix));
-            ossUrl = getOssHost() + fileUrl;
-
-            // 上传文件
-            PutObjectResult result = ossClient.putObject(new PutObjectRequest(bucket, fileUrl, stream,objectMetadata));
-
-            BladeFile file = new BladeFile();
-            file.setOriginalName(fileName);
-            file.setName(fileName);
-            file.setDomain(this.getOssHost(bucket));
-            file.setLink(ossUrl);
-            return file;
-        } catch (Throwable var9) {
-            throw var9;
-        }
-    }
+    //不使用
+//    public BladeFile putFileWithPath(String fileName, String filePath,Long projectId, InputStream stream) {
+//
+//        try {
+//
+//            String suffix = "";
+//            int indexOfDot = fileName.lastIndexOf('.');
+//            if (indexOfDot > 0) {
+//                suffix = fileName.substring(indexOfDot + 1);
+//            }
+//
+//            String ossUrl = "";
+//            // 判断容器是否存在,不存在就创建
+//            String bucket=getBucketName();
+//            if (!ossClient.doesBucketExist(bucket)) {
+//                ossClient.createBucket(bucket);
+//                CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucket);
+//                createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
+//                ossClient.createBucket(createBucketRequest);
+//            }
+//            // 设置文件路径和名称
+//            //判断是否为存储成   upload/20230322/xxxx.pdf 还是指定目录 aaaa/bbbb.pdf
+//            if (StringUtils.isEmpty(filePath)) {
+//                Date now = new Date();
+//                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+//                String formattedDate = sdf.format(now);
+//                filePath = OssConstant.NORMAL_DIRECTORY + "/" + formattedDate;
+//            }
+//
+//            //如果有项目ID,则存为 项目id/....  ,否则直接在最外层, 临时目录除外
+//            if (!filePath.equals(OssConstant.TEMP_DIRECTORY)) {
+//                if (projectId != null  ) {
+//                    filePath = projectId + "/" + filePath;
+//                }
+//            }
+//
+//            String fileUrl = filePath + "/" + fileName;
+//            ObjectMetadata objectMetadata = new ObjectMetadata();
+//            objectMetadata.setContentType(getcontentType(suffix));
+//            ossUrl = getOssHost() + fileUrl;
+//
+//            // 上传文件
+//            PutObjectResult result = ossClient.putObject(new PutObjectRequest(bucket, fileUrl, stream,objectMetadata));
+//
+//            BladeFile file = new BladeFile();
+//            file.setOriginalName(fileName);
+//            file.setName(fileName);
+//            file.setDomain(this.getOssHost(bucket));
+//            file.setLink(ossUrl);
+//            return file;
+//        } catch (Throwable var9) {
+//            throw var9;
+//        }
+//    }
 
 
     //判断文件的格式

+ 1 - 1
blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/ossre/OssTemplateRe.java

@@ -19,5 +19,5 @@ public interface OssTemplateRe extends OssTemplate {
     InitiateMultipartUploadResult initiateMultipartUpload(InitiateMultipartUploadRequest request);
 
     //指定路径上传
-    BladeFile putFileWithPath(String fileName, String filePath,Long projectId, InputStream stream);
+//    BladeFile putFileWithPath(String fileName, String filePath,Long projectId, InputStream stream);
 }

+ 11 - 11
blade-ops/blade-resource/src/main/java/org/springblade/resource/feign/NewIOSSClientImpl.java

@@ -72,15 +72,15 @@ public class NewIOSSClientImpl implements NewIOSSClient {
         return null;
     }
 
-    @Override
-    public BladeFile uploadFile(String fileName, String localFileUrl,String filePath, Long projectId) {
-        try {
-            //获取文件流
-            InputStream inputStream = new FileInputStream(new File(localFileUrl));
-            return this.ossBuilder.template().putFileWithPath(fileName,filePath, projectId,inputStream);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
+//    @Override
+//    public BladeFile uploadFile(String fileName, String localFileUrl,String filePath, Long projectId) {
+//        try {
+//            //获取文件流
+//            InputStream inputStream = new FileInputStream(new File(localFileUrl));
+//            return this.ossBuilder.template().putFileWithPath(fileName,filePath, projectId,inputStream);
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//        return null;
+//    }
 }

+ 12 - 5
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchiveAutoPdfServiceImpl.java

@@ -420,8 +420,10 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
 
             //合并当前所有选择的试验pdf
             FileUtils.mergePdfPublicMethods(localUrls, localPdf);
-            BladeFile bladeFile = this.newIOSSClient.uploadFile(fileName + ".pdf", localPdf, OssConstant.ARCHIVE_DIRECTORY,projectId);
+//            BladeFile bladeFile = this.newIOSSClient.uploadFile(fileName + ".pdf", localPdf, OssConstant.ARCHIVE_DIRECTORY,projectId);
 
+            String absoluteFileName = FileUtils.getOssPath(OssConstant.ARCHIVE_DIRECTORY,fileName,projectId);
+            BladeFile bladeFile = newIOSSClient.uploadFile(absoluteFileName + ".pdf", localPdf);
 
 //            ByteArrayOutputStream bos = new ByteArrayOutputStream();
 //            FileUtils.PdfCopyPublicMethods(bos, localUrls);
@@ -572,9 +574,10 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
         FileOutputStream outputStream = new FileOutputStream(excelPath);
         workbook.write(outputStream);
         FileUtils.setExcelScaleToPdf(excelPath, localPdfPath);
-        //String absoluteFileName = "upload/" + 899999 + "/archive/" + fileName;
-        //BladeFile bladeFile = newIOSSClient.uploadFile(absoluteFileName + ".pdf", localPdfPath);
-        BladeFile bladeFile = newIOSSClient.uploadFile(fileName + ".pdf", localPdfPath,ossPath, projectId);
+        String absoluteFileName = FileUtils.getOssPath(OssConstant.ARCHIVE_DIRECTORY,fileName,projectId);
+        BladeFile bladeFile = newIOSSClient.uploadFile(absoluteFileName + ".pdf", localPdfPath);
+
+        ///BladeFile bladeFile = newIOSSClient.uploadFile(fileName + ".pdf", localPdfPath,ossPath, projectId);
         String pdfLink = "";
         if (bladeFile!= null ){
             pdfLink = bladeFile.getLink();
@@ -779,7 +782,11 @@ public class ArchiveAutoPdfServiceImpl implements IArchiveAutoPdfService {
             fileName += (OssConstant.SEPARATOR + id);
 
             //上传到oss
-            BladeFile file  = newIOSSClient.uploadFile(fileName+ ".pdf", localPdf,filePath,pojectId);
+           String absoluteFileName = FileUtils.getOssPath(OssConstant.TEMP_DIRECTORY,fileName,null);
+           BladeFile file = newIOSSClient.uploadFile(absoluteFileName + ".pdf", localPdf);
+
+
+//            BladeFile file  = newIOSSClient.uploadFile(fileName+ ".pdf", localPdf,filePath,pojectId);
             url = file.getLink();
         } catch (Exception e) {
             e.printStackTrace();

+ 4 - 1
blade-service/blade-archive/src/main/java/org/springblade/archive/utils/FileUtils.java

@@ -493,7 +493,10 @@ public class FileUtils {
                     fos.close();
                     if (newIOSSClient!= null ) {
                         //BladeFile bladeFile  = newIOSSClient.updateFile(out.toByteArray(),fileName);
-                        BladeFile bladeFile  = newIOSSClient.uploadFile(fileName,filePath,OssConstant.ARCHIVE_DIRECTORY,projectId);
+
+                        String absoluteFileName = FileUtils.getOssPath(OssConstant.ARCHIVE_DIRECTORY,fileName,projectId);
+                        BladeFile bladeFile = newIOSSClient.uploadFile(absoluteFileName + ".pdf", filePath);
+                        //BladeFile bladeFile  = newIOSSClient.uploadFile(fileName,filePath,OssConstant.ARCHIVE_DIRECTORY,projectId);
                         result.add(bladeFile.getLink());
 //                        File f = new File(filePath);
 //                        f.deleteOnExit();