shichongfu
2023-06-07 c28e9990179f5573ea94f41130fcec8c64f7902a
src/main/java/com/product/file/util/FileUtils.java
@@ -557,9 +557,10 @@
            if (placeLocation.indexOf("/") != 0) {
                placeLocation += "/";
            }
            //线程同步
            if (threadSync) {
                boolean b = convertPdf(uploadServer, isEncrypt, file, placeLocation, fileName);
                boolean b = convertPdf(uploadServer, isEncrypt, file, placeLocation, fileName +"."+tail);
                if (deleteFile && file.isFile()) {
                    file.delete();
                }
@@ -569,7 +570,7 @@
                String finalPlaceLocation = placeLocation;
                final File ff = FileUtil.copyFile(file, Global.getSystemConfig("temp.dir", "") + "/" + "temp_convert_pdf_" + RandomUtil.randomString(5) + "_" + file.getName(), 0);
                executorService.submit(() -> {
                    convertPdf(uploadServer, isEncrypt, ff, finalPlaceLocation, fileName);
                    convertPdf(uploadServer, isEncrypt, ff, finalPlaceLocation, fileName+"."+tail);
                    if (ff.isFile()) {
                        ff.delete();
                    }
@@ -588,20 +589,30 @@
        String tempPath = Global.getSystemConfig("temp.dir", "./attachment/temp") + "/" + "convertPDF_" + random + "_" + file.getName();
        String tempPathSuccess = Global.getSystemConfig("temp.dir", "./attachment/temp") + "/" + "convertPDF_success_" + random + ".pdf";
        try {
            int lastIndex = fileName.lastIndexOf(".");
            String officeType = fileName.substring(lastIndex+1);
            fileName=fileName.substring(0,lastIndex);
            FileUtil.copyFile(file, tempPath, 0);
            if(Global.getPropertyToBoolean("open.office.isEnable", "true")) {//启用oepn office转换
            pdfFile = PdfConcurrenceUtil.convertToPdf(tempPath, tempPathSuccess);
            }else{
               pdfFile = new File(AsposeUtil.OfficeToPdf(tempPath, tempPathSuccess,officeType));
           }
            String s = Global.getSystemConfig("temp.dir", "") + "/" + "convertPDF_encryptTemp_" + random + ".pdf";
            FileUtil.copyFile(pdfFile, s, isEncrypt ? 1 : 0);
            pdfFile.delete();
            pdfFile = new File(s);
            uploadOtherFile(false, uploadServer, placeLocation, pdfFile, fileName);
            return true;
        }
        catch (BaseException e) {
           throw e;
        } catch (Exception e) {
            e.printStackTrace();
            throw new BaseException(FileCode.CONVERT_PDF_FILE_FAIL);
        } finally {
            try {
                if (pdfFile.isFile()) {
                if (pdfFile !=null && pdfFile.isFile()) {
                    pdfFile.delete();
                }
                com.product.common.io.FileUtils.delFile(tempPath);