SpringMVC实现文件上传

SpringMVC让文件上传变得更加便捷

这是需要导入的jar包:


实现文件下载只需要以下几个步骤:
1.首先是前端页面表单提交  enctype="multipart/form-data"
2.根据servlet的版本选择相应的文件下载帮助bean类
<!-- 当前我的servlet容器版本是2.5的 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="200000"></property>
</bean>
<!-- 当前我的servlet容器版本是3.0的 -->
<bean id="multipartResolver"
        class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
</bean>
值得注意的是3.0后servlet上传文件是不需要借助commons-fileupload这些第三方jar包的,他都是注解标注实现的,。。。。
所以在web.xml文件还需要配置
 <servlet>
  	<servlet-name>springmvc</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  	<init-param>
  		<param-name>contextConfigLocation</param-name>
  		<param-value>/WEB-INF/config/springmvc.xml</param-value>
  	</init-param>
  	<multipart-config>
  		<file-size-threshold>20000</file-size-threshold>
  	</multipart-config>
  </servlet>
这里面的
<multipart-config>
这个节点,通过该节点可以配置相应的文件上传参数

至于怎么查看servlet的版本可以百度一下

以下摘抄我的controller类里一段保存图片代码

@RequestMapping("/save")
	public String save(
			HttpServletRequest httpServletRequest,
			Student student, Model model) {
		String path = httpServletRequest.getRealPath("/images") + "/"
				+ student.getId() + ".jpg";
		if (student.getImages() != null) {
			MultipartFile multipartFile = student.getImages() ;
			File dest = new File(path);
			try {
				multipartFile.transferTo(dest);
			} catch (IllegalStateException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		model.addAttribute("student", student);
		return "detail";
	}


不管是3.0还是3.0以下Controller类里的写法都差不多,实现思路都是靠自己要怎么写就怎么写, 关键就是 这个MultipartFile接口,你上传的文件属性必须由这个接口
的对象来接受,然后对其进行操作,以下是该接口的方法截图:


查看源代码会发现开发人员已经把注释写明白在里面了。

有兴趣的也可以参考帮助文档http://docs.spring.io/spring/docs/4.2.8.RELEASE/spring-framework-reference/htmlsingle/#mvc-multipart 在21.10的章节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Spring MVC实现文件上传,你需要进行以下几个步骤: 1. 引入依赖:在项目的pom.xml文件中,添加对Spring MVC文件上传组件的依赖。 2. 在前端编写一个包含文件上传功能的form表单:在HTML页面中,使用form表单标签,并设置属性enctype="multipart/form-data",并添加一个type为file的input标签,用于选择要上传的文件。 3. 在Spring MVC的配置文件中配置文件上传器:在Spring MVC的配置文件(通常是一个XML文件)中,添加一个bean,其id为multipartResolver,类为org.springframework.web.multipart.commons.CommonsMultipartResolver。这是Spring提供的一个文件上传解析器。 4. 在Controller中处理文件上传:在Spring MVC的Controller中,添加一个方法用于处理文件上传的请求。该方法需要添加一个参数,用于接收上传的文件。在方法中,你可以通过MultipartFile对象来访问上传的文件,并执行相应的操作。 下面是一个示例代码,展示了如何在Spring MVC实现文件上传: ```java @Controller public class FileUploadController { @RequestMapping(value = "/upload", method = RequestMethod.POST) public String handleFileUpload(@RequestParam("file") MultipartFile file) { // 处理文件上传的逻辑 if (!file.isEmpty()) { // 获取上传的文件名 String fileName = file.getOriginalFilename(); // 进行处理... return "success"; } else { return "error"; } } } ``` 请注意,上述代码中的"/upload"是文件上传的请求路径,你可以根据自己的需要进行修改。 总结一下,要在Spring MVC实现文件上传,你需要引入依赖、编写前端form表单、配置文件上传器,并在Controller中处理文件上传的请求。希望这些信息对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SpringMvc上传文件(详细)](https://blog.csdn.net/weixin_55519875/article/details/128096289)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值