java.lang.IllegalStateException: File has been moved - cannot be read again

来源:互联网 发布:kali linux入门教程 编辑:程序博客网 时间:2024/05/17 22:12

在用jqueryfileupload上传文件时报如下错误:

java.lang.IllegalStateException: File has been moved - cannot be read again

后台接口是spring mvc, 检查sprnig mvc配置文件:

<!-- 上传文件拦截,设置最大上传文件大小   10M=10*1024*1024(B)=10485760 bytes --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="maxUploadSize" value="10240000" /></bean>

配置了允许上传文件的最大size, 而自己上传的文件大小远远小于这个,什么情况呢?

经过网上搜索资料,发现spring mvc除了maxUploadSize参数,还有一个maxInMemorySize参数,指定允许文件被写入内存的最大szie,则默认为1024字节,即1MB,如果试上传大于1024个字节的文件,你需要增加maxInMemorySize价。

<!-- 上传文件拦截,设置最大上传文件大小   10M=10*1024*1024(B)=10485760 bytes --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="maxUploadSize" value="${web.maxUploadSize}" /><property name="maxInMemorySize">              <value>10240000</value>          </property></bean>


spring-mvc.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">    <description>Spring MVC Configuration</description>    <!-- 加载配置属性文件 --><context:property-placeholder ignore-unresolvable="true" location="classpath:runyu.properties" /><!-- 使用Annotation自动注册Bean,只扫描@Controller --><context:component-scan base-package="com.jeeplus" use-default-filters="false"><!-- base-package 如果多个,用“,”分隔 --><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><!-- activiti增加的配置 --><!--加入Spring Activiti-Modeler的运行配置 --><context:component-scan base-package="org.bpm.rest.editor" /><context:component-scan base-package="org.bpm.rest.diagram" /><!--对静态资源文件的访问 --><mvc:resources mapping="/static/images/**" location="/static/images/" /><mvc:resources mapping="/static/js/**" location="/static/js/" /><mvc:resources mapping="/static/css/**" location="/static/css/" /><mvc:resources mapping="/officeControl/**" location="/officeControl/"  /><mvc:resources mapping="/userfiles/**" location="/userfiles/" /><!-- 结束activiti增加的配置  --><!-- 默认的注解映射的支持,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping --><mvc:annotation-driven content-negotiation-manager="contentNegotiationManager"><mvc:message-converters register-defaults="true"><!-- 将StringHttpMessageConverter的默认编码设为UTF-8 --><bean class="org.springframework.http.converter.StringHttpMessageConverter">    <constructor-arg value="UTF-8" /></bean><!-- 将Jackson2HttpMessageConverter的默认格式化输出为false --><bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">                <property name="supportedMediaTypes">                <list><value>application/json;charset=UTF-8</value></list>                </property>                <property name="prettyPrint" value="false"/>                <property name="objectMapper">                    <bean class="com.jeeplus.common.mapper.JsonMapper"></bean>                </property>            </bean>            <!-- 使用XML格式输出数据 -->            <bean class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">        <constructor-arg>        <bean class="org.springframework.oxm.xstream.XStreamMarshaller">        <property name="streamDriver">            <bean class="com.thoughtworks.xstream.io.xml.StaxDriver"/>        </property>        <property name="annotatedClasses">            <list>                <value>com.jeeplus.common.persistence.BaseEntity</value>            </list>        </property>    </bean>        </constructor-arg>        <property name="supportedMediaTypes" value="application/xml"></property></bean></mvc:message-converters></mvc:annotation-driven>    <!-- REST中根据URL后缀自动判定Content-Type及相应的View --><bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">    <property name="mediaTypes" >        <map>                <entry key="xml" value="application/xml"/>                <entry key="json" value="application/json"/>            </map>    </property>        <property name="ignoreAcceptHeader" value="true"/>        <property name="favorPathExtension" value="true"/></bean><!-- 定义视图文件解析 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="${web.view.prefix}"/><property name="suffix" value="${web.view.suffix}"/></bean><!-- 对静态资源文件的访问, 将无法mapping到Controller的path交给default servlet handler处理 --><mvc:default-servlet-handler /><!-- 静态资源映射 -->    <mvc:resources mapping="/static/**" location="/static/" cache-period="31536000"/><!-- 定义无Controller的path<->view直接映射 --><mvc:view-controller path="/" view-name="redirect:${web.view.index}"/><!-- 拦截器配置,拦截顺序:先执行后定义的,排在第一位的最后执行。--><mvc:interceptors><mvc:interceptor><mvc:mapping path="${adminPath}/**" /><mvc:exclude-mapping path="${adminPath}/"/><mvc:exclude-mapping path="${adminPath}/login"/><mvc:exclude-mapping path="${adminPath}/sys/menu/tree"/><mvc:exclude-mapping path="${adminPath}/sys/menu/treeData"/><mvc:exclude-mapping path="${adminPath}/oa/oaNotify/self/count"/><bean class="com.jeeplus.modules.sys.interceptor.LogInterceptor" /></mvc:interceptor><!-- 手机视图拦截器 --><mvc:interceptor><mvc:mapping path="/**" /><bean class="com.jeeplus.modules.sys.interceptor.MobileInterceptor" /></mvc:interceptor></mvc:interceptors><!-- 支持Shiro对Controller的方法级AOP安全控制 begin--><bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"><property name="proxyTargetClass" value="true" /></bean><bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"><property name="exceptionMappings"><props><prop key="org.apache.shiro.authz.UnauthorizedException">error/403</prop><prop key="java.lang.Throwable">error/500</prop></props></property></bean><!-- 支持Shiro对Controller的方法级AOP安全控制 end --><!-- 上传文件拦截,设置最大上传文件大小   10M=10*1024*1024(B)=10485760 bytes --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="maxUploadSize" value="${web.maxUploadSize}" /><property name="maxInMemorySize">              <value>10240000</value>          </property></bean></beans>


0 0
原创粉丝点击