首页 > 编程知识 正文

formdata数据格式请求,formdata上传文件大小

时间:2023-05-03 23:08:24 阅读:286931 作者:4727

文件上传用的是FormData传递文件以及MutilpartFile后台接收

FormData上传文件的2种方式:

1.直接表单提交:

<form action="fileUpload.html" method="post" enctype="multipart/form-data">  

 选择文件:<input type="file" name="file">  

 <input type="submit" value="提交">   

</form>

2.Ajax提交:

<form id="uploadForm" enctype="multipart/form-data">  

 选择文件:<input type="file" name="file">  

 <input type="button" id="upload" value="提交">   

</form>

 

Spring对上传文件的支持:

<!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="defaultEncoding" value="UTF-8"/>
    <!--上传文件的大小-->
    <property name="maxUploadSize" value="1024000000"/>
    <!--上传文件的大小超过时 放在temp临时文件中-->
    <property name="maxInMemorySize" value="1024000"/><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="defaultEncoding" value="UTF-8"/>
    <!--上传文件的大小-->
    <property name="maxUploadSize" value="1024000000"/>
    <!--上传文件的大小超过时 放在temp临时文件中-->
    <property name="maxInMemorySize" value="1024000"/>
</bean>

注意:在多线程环境中上传文件出现的问题,文件超出maxInMemorySize时,上传文件放在临时文件中,如果此时线程资源被其他线程拿到,jvm可能将temp文件删除,之后再读取上传文件时会报错。需要将读取文件流的操作new FileInputStream(file)放到多线程外面。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。