ajaxFileUpload异步上传报错FileNotFoundException

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/zhouhaisunny/article/details/84933708

 ajaxfileupload异步上传文件时,在springmvc中通过MultipartFile获取,然后想转成File类型用于上传,用了以下方式:

//MultipartFile强转为File
CommonsMultipartFile commonsmultipartfile = (CommonsMultipartFile) multipartfile;
DiskFileItem diskFileItem = (DiskFileItem) commonsmultipartfile.getFileItem();  
File file = diskFileItem.getStoreLocation();

测试时候发现报错,细心点发现10KB以下的文件才报错FileNotFoundException:

java.io.FileNotFoundException: C:\apache-tomcat-7.0.61\work\Catalina\localhost\FishManage\upload_de2e4204_56e7_4b34_adce_163e38e29654_00000003.tmp (系统找不到指定的文件。)

文件小于10kb就不生成临时文件了,问题出在配置文件上:

<bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="UTF-8" />
        <!-- 指定所上传文件的总大小不能超过2000KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 -->
        <property name="maxUploadSize" value="2048000" />
        <!-- 设置在文件上传时允许写到内存中的最大值,以字节为单位计算,默认是10240,10kb -->
        <!-- 上传文件大小若小于此参数,则不会生成临时文件,故改为1024也就是1kb -->
        <property name="maxInMemorySize" value="1024" />  
    </bean>

maxInMemorySize这个参数得改的小一点 ,比如1024也就是1kb。

猜你喜欢

转载自blog.csdn.net/zhouhaisunny/article/details/84933708