JavaEE框架整合开发入门到实战——Spring+SpringMVC+MyBatis(微课版)清华大学出版社第17章文件的上传和下载主要内容单文件上传多文件上传文件下载JavaEE框架整合开发入门到实战——Spring+SpringMVC+MyBatis(微课版)清华大学出版社17.1文件上传SpringMVC框架的文件上传是基于commons-fileupload组件的文件上传,只不过SpringMVC框架在原有文件上传组件上做了进一步封装,简化了文件上传的代码实现,取消了不同上传组件上的编程差异。JavaEE框架整合开发入门到实战——Spring+SpringMVC+MyBatis(微课版)清华大学出版社17.1.1commons-fileupload组件由于SpringMVC框架的文件上传是基于commons-fileupload组件的文件上传。因此,需要将commons-fileupload组件相关的jar(commons-fileupload-1.3.1.jar和commons-io-2.4.jar)拷贝到SpringMVC应用的WEB-INF/lib目录下。下面讲解一下如何下载相关jar包。commons-fileupload组件可以从http://commons.apache.org/proper/commons-fileupload/上下载,本书采用的版本是1.3.1。下载它的Binaries压缩包(commons-fileupload-1.3.1-bin.zip),解压后的目录中有两个子目录,分别是lib和site。lib目录下有个JAR文件:commons-fileupload-1.3.1.jar,该文件是commons-fileupload组件的类库。site目录中是commons-fileupload组件的文档,也包括API文档。commons-fileupload组件依赖于Apache的另外一个项目:commons-io,该组件可以从http://commons.apache.org/proper/commons-io/上下载,本书采用的版本是2.4。下载它的Binaries压缩包(commons-io-2.4-bin.zip),解压缩后的目录中有四个JAR文件,其中有一个commons-io-2.4.jar文件,该文件是commons-io的类库。JavaEE框架整合开发入门到实战——Spring+SpringMVC+MyBatis(微课版)清华大学出版社17.1.2基于表单的文件上传基于表单的文件上传,不要忘记使用enctype属性,并将它的值设置为multipart/form-data。同时,表单的提交方式设置为post。为什么需要这样呢?下面从enctype属性说起。表单的enctype属性指定的是表单数据的编码方式,该属性有如下三个值:application/x-www-form-urlencoded:这是默认的编码方式,它只处理表单域里的value属性值。multipart/form-data:该编码方式以二进制流的方式来处理表单数据,并将文件域指定文件的内容封装到请求参数里。text/plain:该编码方式当表单的action属性为mailto:URL的形式时才使用,主要适用于直接通...