SpringMVC功能模块为我们提供了上传文件的组件CommonsMultipartResolver,我们可以直接利用其中的File.transferto()方法进行文件上传。
工具/原料
1
java
2
jdk1.8,spring及springMVC相关jar包,Commons-fileupload.jar,Commons-io-1.4.jar
方法/步骤
1
首先在IntelliJ IDEA中以SpringMVC创建Web项目,并配置相关文件,可参考经验引用。此时需要到如文件上传的jar包。
2
创建FileUpload类,并加上注释@Controlller。其中加入方法toUpload方法,此方法直接是用于在index.jsp页面直接跳转到upload.jsp页面用的。
3
在index.jsp中加入跳转链接。
4
在FileUpload类中添加upload方法,注意其中传参MultipartFile对象既是调用CommonsMultipartResolver组件需要的对象,注意进行参数注入,此时参数标签注入的直接是jsp页面id的值。然后直接调用File.transferto()方法,即可将文件进行上传。
5
编写upload.jsp页面,里面只需要简单的上传提交即可。注意如下代码中必须是这个参数,才能调用CommonsMultipartResolver组件。
6
编辑上传后跳转的页面result.jsp,这里直接根据超链接,读取上传后的文件。
7
在dispatcher-servlet.xml配置文件中,添加上CommonsMultipartResolver组件的bean声明。其中需要配置用UTF-8编码,否则上传的文件名为乱码。
8
以tomcat运行项目,此时会直接进入默认的index.jsp,点击跳转进行上传页面,在其中传入需要上传的文件,点击submit,跳转到结果页面,点击查看,可直接查看文件内容。
注意事项
如果需要配置上传地址及上传文件大小限制,都可以在bean里属性进行配置