累!很累!自己看书自学时,一定要找本写得很详细的书,不然,自学的路上困难重重!!!走一步,一个坑。
1.导入jar包!
实现文件的上传需要导入以下两个包
commons-fileupload-1.4.jar用于进行文件的上传。commons-io-2.6.jar用于进行文件的下载。
虽然我们目前只是做文件的上传,但是两个包都要同时导入,因为Apache有规定的,若导入1.0版本以上的fileupload的jar包,就必须也导入io jar包,否则会报错!!!
2.配置文件上传解析器!
如图所示,maxUploadSize是指最大的可以上传的文件的内容。
3.编写表单提交页面
需要注意的是,在<form:form ></form:form>标签中,enctype一定要填写为“multipart/form-data”。这表示,你提交的这个表单,既包括一些普通的文本数据,也包括文件的二进制数据,若不填写,后台会无法解析你提交的数据。我是太菜了,连这个都不知道。
4.编写具体的Controller类
这边编写的saveFile(@ModelAttribute Resource resource,@RequestParam("files") MultipartFile file,HttpServletRequest request)方法,使用@ModelAttribute注解来对表单传来的bean的数据进行绑定。使用@RequestMapping注解来绑定上传的MultipartFile类型的文件。参数中还有一个HttpServletRequest对象,这个主要用来在后面获得物理路径。
获取物理路径:request.getSession().getServletContextPath().getRealPath("WEB-INF/fileupload");将这个路径进行打印获取到的path如下图所示。
使用FileCopyUtils的copy()方法,将文件保存到指定的文件夹。
啊。。2019.3.31日,16点24分,我累了。
我要去打游戏了,hhhh