SpringMVC文件上传功能开发

2024-10-25 07:33:07

1、我们嚼但匙噻首先需要在Spring的配置文件中配置MultipartResolver,使用CommonsMultipartResolver配置一个MultipartResolver解析器,即在applicationContext.xml中配置bean,<bean id=multipartResolver” class=org.springframework.web.multipart.commons.CommonsMultipartResolver”/> ,其他的参数配置如下图所示,也可以根据需要设置。

SpringMVC文件上传功能开发

2、接下来我们在项目的结构中创建一个upload文件夹用于存放上传的文件,文件上传后存放在此文件夹中,便可随时从该文件夹中获取文件,进行其他的处理。

SpringMVC文件上传功能开发

3、对于单个文件的上传我们使用@RequestParam猾诮沓靥("file") ,将name=file控件得到的文件封装成CommonsMultipartFile对象,上传文件的enctype=“multipart/form-data”,这个是在SpringMVC中上传文件必须的。在收到文件后需要对文件进行判空处理,代码如下图所示。

SpringMVC文件上传功能开发

4、我们根据文件名和上文的upload路径创建File对象,使用file.transferTo()方法 来保存上传的文件,此时需要进行异常的捕获或抛出,代码如下图所示。

SpringMVC文件上传功能开发

5、接下来我们讲解如何批量上传文件,我们使用@RequestParam("file") ,将荏鱿胫协name=file控件得到的文件封装成MultipartFile[] files数组,然后for循环该数组,进行文件判断,获取文件路径,创建File文件,使用file.transferTo()保存文件等操作,for循环中的代码和单个文件上传相同。

SpringMVC文件上传功能开发

6、后端代码编写完成后,我们使用form表单和postman请求这两种方式来测试文件上传。首先是编写form表单的方式,表单的action是我们的请求路径,请求方式为post请求,enctype=“multipart/form-data”,代码如下图所示。

SpringMVC文件上传功能开发

7、如果要测试多个文件上传的话,只要在form表单中多写一个<input type="file" name="file" /> 即可,代码如下图所示。我们在浏览器中打开,选择要上传的多个文件后,点击上传按钮即可。

SpringMVC文件上传功能开发SpringMVC文件上传功能开发

8、接着我们在postman中测试,页面如下图所示。注意我们在使用postman进行文件上传时,只能选择form-data的方式传参,然后在key中输入file,选择类型为file,接下来便会有选择文件的提示,选择要上传的文件,然后点击Send便可测试文件上传了。

SpringMVC文件上传功能开发
猜你喜欢