无法执行多部分项的清理

Failed to perform cleanup of multipart items

提问人:KemalK 提问时间:8/8/2023 最后编辑:KemalK 更新时间:8/8/2023 访问量:268

问:

当我第二次从 Postman 发送 CSV 文件时,我遇到了此错误。我该如何解决这个问题?

java.io.UncheckedIOException:无法删除 C:\Users\kk\AppData\Local\Temp\tomcat.8080.8382445987963140509\work\Tomcat\localhost\ROOT\upload_5ff0e06e_a607_4937_b707_de9c116a9f97_00000001.tmp 在 org.apache.tomcat.util.http.fileupload.disk.DiskFileItem.delete(DiskFileItem.java:431) ~[tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.core.ApplicationPart.delete(ApplicationPart.java:53) ~[tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.springframework.web.multipart.support.StandardServletMultipartResolver.cleanupMultipart(StandardServletMultipartResolver.java:134) ~[spring-web-5.3.28.jar:5.3.28] 在 org.springframework.web.servlet.DispatcherServlet.cleanupMultipart(DispatcherServlet.java:1251) [spring-webmvc-5.3.28.jar:5.3.28] 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1108) [spring-webmvc-5.3.28.jar:5.3.28] 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965) [spring-webmvc-5.3.28.jar:5.3.28] 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.3.28.jar:5.3.28] 在 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) [spring-webmvc-5.3.28.jar:5.3.28] 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:555) [tomcat-embed-core-9.0.76.jar:4.0.FR] 在 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.3.28.jar:5.3.28] 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:623) [tomcat-embed-core-9.0.76.jar:4.0.FR] 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:209) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:51) [tomcat-embed-websocket-9.0.76.jar:9.0.76] 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:178) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) [spring-web-5.3.28.jar:5.3.28] 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.28.jar:5.3.28] 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:178) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) [spring-web-5.3.28.jar:5.3.28] 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.28.jar:5.3.28] 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:178) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.3.28.jar:5.3.28] 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.28.jar:5.3.28] 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:178) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:390) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun (NioEndpoint.java:1791) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:52) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.76.jar:9.0.76] 在 java.lang.Thread.run(Thread.java:750) [na:1.8.0_372]

WARN o.s.w.m.s.StandardServletMultipartResolver - 无法执行多部分项的清理 原因:java.io.IOException:无法删除 C:\Users\kk\AppData\Local\Temp\tomcat.8080.8711335808711968415\work\Tomcat\localhost\ROOT\upload_39333cde_6632_40ed_9ca7_4565440ea9d0_00000001.tmp ...省略 44 个常用帧

@Override
    @Async
    public List<CsvReportDto> getControlReportCsvFile(InputStream inputStream) throws Exception{
    List<CsvReportDto> reports = csvUtils.readReportFromCsv(inputStream);


CsvUtils

` public List<CsvReportDto> readReportFromCsv(InputStream inputStream) throws Exception{
        try(BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, "Windows-1254"))) {
            List<CsvReportDto> csvReportDtoList = new ArrayList<>();
            br.readLine();
            String line;
while ((line = br.readLine()) != null){

                String[] data = line.split(";");
                CsvReportDto csvReportDto = new CsvReportDto();
                // set dtos
                csvReportDtoList.add(csvReportDto);
            }
            br.close();
            return csvReportDtoList;

        }catch (Exception e){
            e.printStackTrace();
            throw e;
        }


`

我不想在不关闭应用程序的情况下连续发送请求时收到错误消息。

java spring-boot csv bufferedreader

评论


答: 暂无答案