Linux服务器与Spring MVC应用程序的文件上传问题。

huangapple 未分类评论51阅读模式
标题翻译

linux server file upload issue with spring mvc application

问题

谢谢您的帮助。

我正在尝试在Linux服务器上上传文件。当我们上传小于2MB的文件时,上传成功。但当文件大小大于5MB时,出现以下错误。

我已经检查了服务器的最大POST大小,如下所示。

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxPostSize="10485760" />

Spring应用程序文件上传配置如下:

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- 最大上传大小(字节) -->
    <property name="maxUploadSize" value="129059638" /> <!-- 20MB -->
    <!-- 文件在内存中的最大大小(字节) -->
    <property name="maxInMemorySize" value="129059638" /> 
</bean>

java.io.FileNotFoundException: /opt/tomcat/work/Catalina/localhost/AutoBCM_Alpha_v2/upload_2f8777c9_170d42a1309__8000_00000041.tmp(没有该文件或目录)
……(后面的错误信息省略)

英文翻译

Thanks for your help.

I am trying to upload a file on linux server. when we are doing less than 2MB file it successfully happening. but when the file size is greater than 5MB below error is occurred.

also I have check server max post size and its as below.

&lt;Connector port=&quot;8080&quot; protocol=&quot;HTTP/1.1&quot;                connectionTimeout=&quot;20000&quot;                redirectPort=&quot;8443&quot; maxPostSize=&quot;10485760&quot; /&gt;

spring application filupload confribugration

&lt;bean id=&quot;multipartResolver&quot;
        class=&quot;org.springframework.web.multipart.commons.CommonsMultipartResolver&quot;&gt;
        &lt;!-- max upload size in bytes --&gt;
        &lt;property name=&quot;maxUploadSize&quot; value=&quot;129059638&quot; /&gt; &lt;!-- 20MB --&gt;
        &lt;!-- max size of file in memory (in bytes) --&gt;
        &lt;property name=&quot;maxInMemorySize&quot; value=&quot;129059638&quot; /&gt; 
    &lt;/bean&gt;

java.io.FileNotFoundException: /opt/tomcat/work/Catalina/localhost/AutoBCM_Alpha                                                                                        _v2/upload_2f8777c9_170d42a1309__8000_00000041.tmp (No such file or directory)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(FileInputStream.java:195)
        at java.io.FileInputStream.&lt;init&gt;(FileInputStream.java:138)
        at org.apache.commons.fileupload.disk.DiskFileItem.readObject(DiskFileIt                                                                                        em.java:719)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.                                                                                        java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces                                                                                        sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:117                                                                                        0)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2177)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2                                                                                        068)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1572)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:22                                                                                        86)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2210)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2                                                                                        068)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1572)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:430)
        at java.util.HashMap.readObject(HashMap.java:1412)
        at sun.reflect.GeneratedMethodAccessor82.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces                                                                                        sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:117                                                                                        0)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2177)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2                                                                                        068)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1572)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:430)
        at com.ascent.bcm.applayer.Applayer.receiveData(Applayer.java:239)
        at com.ascent.bcm.applayer.Applayer.validateUser(Applayer.java:267)
        at com.ascent.bcm.applayer.BcmBIAAppController.slaDocFileUpload(BcmBIAAp                                                                                        pController.java:4593)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.                                                                                        java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces                                                                                        sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.                                                                                        invokeHandlerMethod(HandlerMethodInvoker.java:177)
        at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandle                                                                                        rAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:446)
        at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandle                                                                                        rAdapter.handle(AnnotationMethodHandlerAdapter.java:434)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatch                                                                                        erServlet.java:959)
        at org.springframework.web.servlet.DispatcherServlet.doService(Dispatche                                                                                        rServlet.java:893)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(Frame                                                                                        workServlet.java:966)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServ                                                                                        let.java:868)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkSer                                                                                        vlet.java:842)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl                                                                                        icationFilterChain.java:292)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF                                                                                        ilterChain.java:207)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52                                                                                        )
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl                                                                                        icationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF                                                                                        ilterChain.java:207)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV                                                                                        alve.java:212)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV                                                                                        alve.java:94)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica                                                                                        torBase.java:504)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j                                                                                        ava:141)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j                                                                                        ava:79)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAcce                                                                                        ssLogValve.java:620)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal                                                                                        ve.java:88)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav                                                                                        a:502)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp                                                                                        11Processor.java:1132)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(                                                                                        AbstractProtocol.java:684)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpo                                                                                        int.java:1539)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoin                                                                                        t.java:1495)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.                                                                                        java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor                                                                                        .java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskTh                                                                                        read.java:61)
        at java.lang.Thread.run(Thread.java:748)

答案1

得分: 0

请,点击这里 查看关于您的问题的多个答案。

在 application.properties 文件中(Spring Boot)
将大小更改为 -1,而不是给定的大小

如下所示:
spring.http.multipart.max-file-size=-1

在更改后,如果您仍然遇到相同的问题,请恢复代码。

英文翻译

Please, click here to check multiple answers for your question.

In application.properties file (Spring Boot)
Change to -1 instead of giving size

Like shown below:
spring.http.multipart.max-file-size=-1

After changing If you still face the same issues revert back with code.

huangapple
  • 本文由 发表于 2020年3月16日 18:45:54
  • 转载请务必保留本文链接:https://java.coder-hub.com/60704495.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定