SpringMVC文件上传
无需在写文件上传工具类
jsp中
form表单必须使用post方式提交
method
必须定义数据传输类型
enctype="multipart/form-data"
pom中
配置所需jar包
commons-fileupload
版本1.3
commons-io
版本1.3
容器配置xml中
配置文件上传解析器
id必须写成multipartResover
其中可以配置可以上传的文件大小
-1表示不限制
<property name-"maxUploadSize" value="-1">
限制通常由前台完成
默认编码集
每次读取到内存中的大小
<property name-"maxInMemorySize" value=1024">
效果跟new byte[1024]相同
controller中
方法映射规定 路径 和 提交方式为POST
参数
参数@RequestParam("提交项名称")CommonMultipartFile file
若有键值对表单提交项,则形参名一致,加在参数列表中即可
即使二进制提交也会自动完成数据类型转换
方法中
通过操作file即可完成文件上传
拼接路径
path +File.saperator + fileName
File.separator为不受系统限制的分隔符
写到指定目录中
file.getOutputStream
实际使用中,临时文件的解析应该放到一个新的线程中或放到队列中,而不是让用户等待上传以及解析的漫长过程,以提高用户体验