Ver Fonte

上传excel不保存文件

yusm há 4 semanas atrás
pai
commit
565b548112

+ 2 - 29
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/CustomerInfoServiceImpl.java

@@ -43,23 +43,9 @@ public class CustomerInfoServiceImpl extends ServiceImpl<CustomerInfoMapper, Cus
     public HttpRespMsg importData(HttpServletRequest request, MultipartFile multipartFile) {
         HttpRespMsg msg=new HttpRespMsg();
         Integer companyId=userMapper.selectById(request.getHeader("token")).getCompanyId();
-        String fileName=multipartFile.getOriginalFilename();
-        File file=new File(fileName == null ? "file" : fileName);
-        InputStream inputStream=null;
-        OutputStream outputStream=null;
-        try {
-            inputStream= multipartFile.getInputStream();
-            outputStream=new FileOutputStream(file);
-            byte[] buffer = new byte[4096];
-            int temp = 0;
-            while ((temp = inputStream.read(buffer, 0, 4096)) != -1) {
-                outputStream.write(buffer, 0, temp);
-            }
-            inputStream.close();
-            outputStream.close();
-
+        try(InputStream inputStream= multipartFile.getInputStream()) {
             //然后解析表格
-            Workbook workbook = WorkbookFactory.create(new FileInputStream(file));
+            Workbook workbook = WorkbookFactory.create(inputStream);
             DateFormat df = new SimpleDateFormat("yyyy-MM");
             //获取公司所有客户
             List<CustomerInfo> allCustomerInfo = customerInfoMapper.selectList(new QueryWrapper<CustomerInfo>().eq("company_id", companyId));
@@ -132,19 +118,6 @@ public class CustomerInfoServiceImpl extends ServiceImpl<CustomerInfoMapper, Cus
             //msg.setError("文件加密状态,需要先解除加密状态再上传");
             msg.setError(MessageUtils.message("file.encryption"));
             return msg;
-        }finally {
-            //关闭流
-            try {
-                if (outputStream != null && inputStream != null) {
-                    outputStream.close();
-                    inputStream.close();
-                    System.out.println("流已关闭");
-                }
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-//            file.deleteOnExit();//程序退出时删除临时文件
-            System.out.println(file.delete());
         }
     }
 

+ 4 - 29
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanServiceImpl.java

@@ -572,22 +572,9 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         HttpRespMsg msg=new HttpRespMsg();
         DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
-        String fileName = multipartFile.getOriginalFilename();
-        File file = new File(fileName == null ? "file" : fileName);
-        InputStream inputStream = null;
-        OutputStream outputStream = null;
-        try {
-            inputStream = multipartFile.getInputStream();
-            outputStream = new FileOutputStream(file);
-            byte[] buffer = new byte[4096];
-            int temp = 0;
-            while ((temp = inputStream.read(buffer, 0, 4096)) != -1) {
-                outputStream.write(buffer, 0, temp);
-            }
-            inputStream.close();
-            outputStream.close();
+        try(InputStream inputStream = multipartFile.getInputStream()) {
             //然后解析表格
-            XSSFWorkbook workbook = new XSSFWorkbook(file);
+            XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
             //我们只需要第一个sheet
             XSSFSheet sheet = workbook.getSheetAt(0);
             int rowNum = sheet.getLastRowNum();
@@ -956,7 +943,8 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                     msg.setData("导入成功,其中产品[" + sb.toString() + "]产品工序未完成,请完成工序配置后重新导入");
                 }
             }
-        } catch (IOException e) {
+        }
+        catch (IOException e) {
             e.printStackTrace();
         } catch (NullPointerException e) {
             e.printStackTrace();
@@ -979,19 +967,6 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             //msg.setError("上传失败:" + e.getMessage());
             msg.setError(MessageUtils.message("file.uploadError",e.getMessage()));
             return msg;
-        } finally {
-            //关闭流
-            try {
-                if (outputStream != null && inputStream != null) {
-                    outputStream.close();
-                    inputStream.close();
-                    System.out.println("流已关闭");
-                }
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-//            file.deleteOnExit();//程序退出时删除临时文件
-            System.out.println(file.delete());
         }
         return msg;
     }

+ 2 - 36
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ProductServiceImpl.java

@@ -231,32 +231,11 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
         List<Product> productList=new ArrayList<>();
         List<ProdProcedure> prodProcedureList=new ArrayList<>();
         List<Plan> needUpdatePlanList=new ArrayList<>();
-
-
         Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
 
-        String fileName = multipartFile.getOriginalFilename();
-        File file = new File(fileName == null ? "file" : fileName);
-        InputStream inputStream = null;
-        OutputStream outputStream = null;
-
-
-        try {
-            inputStream= multipartFile.getInputStream();
-            outputStream=new FileOutputStream(file);
-
-            byte[] buffer = new byte[4096];
-            int temp = 0;
-            while ((temp = inputStream.read(buffer, 0, 4096)) != -1) {
-                outputStream.write(buffer, 0, temp);
-            }
-            inputStream.close();
-            outputStream.close();
-
-
+        try (InputStream inputStream= multipartFile.getInputStream()){
             //然后解析表格
-
-            XSSFWorkbook workbook = new XSSFWorkbook(file);
+            XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
             //第一个sheet 产品信息
             XSSFSheet sheet = workbook.getSheetAt(0);
             int rowNum = sheet.getLastRowNum();
@@ -545,19 +524,6 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
             //msg.setError("上传失败:" + e.getMessage());
             msg.setError(MessageUtils.message("file.uploadError",e.getMessage()));
             return msg;
-        } finally {
-            //关闭流
-            try {
-                if (outputStream != null && inputStream != null) {
-                    outputStream.close();
-                    inputStream.close();
-                    System.out.println("流已关闭");
-                }
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-//            file.deleteOnExit();//程序退出时删除临时文件
-            System.out.println(file.delete());
         }
         return msg;
     }

+ 5 - 55
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -313,23 +313,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         HttpRespMsg msg = new HttpRespMsg();
         User user = userMapper.selectById(request.getHeader("TOKEN"));
         Integer companyId = user.getCompanyId();
-        //然后处理文件
-        String fileName = multipartFile.getOriginalFilename();
-        File file = new File(fileName == null ? "file" : fileName);
-        InputStream inputStream = null;
-        OutputStream outputStream = null;
-        try {
-            inputStream = multipartFile.getInputStream();
-            outputStream = new FileOutputStream(file);
-            byte[] buffer = new byte[4096];
-            int temp = 0;
-            while ((temp = inputStream.read(buffer, 0, 4096)) != -1) {
-                outputStream.write(buffer, 0, temp);
-            }
-            inputStream.close();
-            outputStream.close();
+        try (InputStream inputStream = multipartFile.getInputStream()){
             //然后解析表格
-            Workbook wb = WorkbookFactory.create(new FileInputStream(file));
+            Workbook wb = WorkbookFactory.create(inputStream);
             Sheet sheet = wb.getSheetAt(0);
             //要插入的账号列表
             List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
@@ -457,17 +443,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             e.printStackTrace();
             //msg.setError("文件格式错误,如果安装了加密软件需要先解密再上传");
             msg.setError(MessageUtils.message("file.FormatErrorAndDecrypt"));
-        } finally {
-            //关闭流
-            try {
-                if (outputStream != null && inputStream != null) {
-                    outputStream.close();
-                    inputStream.close();
-                }
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-            System.out.println(file.delete());
         }
         return msg;
     }
@@ -1365,22 +1340,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         }
 //        BigDecimal monthHours = time.getMonthDays().multiply(new BigDecimal(time.getAllday()));
         //然后处理文件
-        String fileName = multipartFile.getOriginalFilename();
-        File file = new File(fileName == null ? "file" : fileName);
-        InputStream inputStream = null;
-        OutputStream outputStream = null;
-        try {
-            inputStream = multipartFile.getInputStream();
-            outputStream = new FileOutputStream(file);
-            byte[] buffer = new byte[4096];
-            int temp = 0;
-            while ((temp = inputStream.read(buffer, 0, 4096)) != -1) {
-                outputStream.write(buffer, 0, temp);
-            }
-            inputStream.close();
-            outputStream.close();
+
+        try(InputStream inputStream = multipartFile.getInputStream()) {
             //然后解析表格
-            XSSFWorkbook workbook = new XSSFWorkbook(file);
+            XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
             //我们只需要第一个sheet
             XSSFSheet sheet = workbook.getSheetAt(0);
             //查重检验的手机号列表
@@ -1538,19 +1501,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             //httpRespMsg.setError("发生其他错误");
             httpRespMsg.setError(MessageUtils.message("other.error"));
             return httpRespMsg;
-        } finally {
-            //关闭流
-            try {
-                if (outputStream != null && inputStream != null) {
-                    outputStream.close();
-                    inputStream.close();
-                    System.out.println("流已关闭");
-                }
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-//            file.deleteOnExit();//程序退出时删除临时文件
-            System.out.println(file.delete());
         }
         return httpRespMsg;
     }