一般来说,我们使用Spring MVC的文件上传时会用到三种文件上传方式,使用这些方式的前提是我们需要在pom。xml文件中进行相应的包的DI(Dependence Injected)依赖注入,有Commen-fileupload包和commen-io包。在准备工作做好后,我们就可以在项目中进行文件上传的工作了。
- 第一种:传统的文件上传,特点是只在单个服务器上对文件进行上传和查询,能回会涉及到页面跳转。
- 第二种:springMVC的上传,springMVC提供了一个MultipartFile的对象,这个对象就对应我们传入的文件,对象名必须与表单中file标签的name的属性名一致。我们在View层跳转到Controller时,可以将MultipartFile对象作为参入导入,从而直接获取文件名,在进行操作后将文件名设置为唯一的文件名,避免大量文件传入时文件名重复导致的覆盖现象。而在传统的文件上传过程中,没有MultiPertFile对象,就只能对request解析遍历,从众多表单元素中查找到文件信息,设置为唯一的文件名,且传统的上传方式结束后还需将产生的临时文件删除,防止占用资源。
- 第三种:跨服务器上传文件,和springMVC差不多,区别在于我们用另一个项目作为图片或文件接收器,只需要对上传的文件进行解析并存储相关信息,而在具体上传的M(Model)层,我们必须要定义传入的服务端路径,问处理后的唯一文件名,再与Client端建立连接,用WebResource上传资源。