Springmvc基础四之上传文件

本文介绍了如何使用SpringMVC进行文件上传操作。通过配置CommonsMultipartResolver类,可以轻松实现文件上传功能。文中提供了具体的XML配置示例以及控制器代码,展示了两种不同的文件保存方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第三讲说到注解;

这一讲来说一下文件上传;Springmvc文件上传也给 我们封装了一个类即org.springframework.web.multipart.commons.CommonsMultipartResolver

然后要实现 的话;也是一个很简单的过程;我们只需要配置好即可;这里我就把代码类粘贴出来;就不上传项目了 ;因为很简单;而且也不需要记住;

只需要用到的时候来查一下配置即可:

在name-servlet.xm里的配置:

<!-- 对文件的上传 -->
	<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		  <property name="defaultEncoding" value="utf-8" />
	      <property name="maxUploadSize" value="10485760000" />
	      <property name="maxInMemorySize" value="40960" />
	</bean>

  然后是后台的处理:

package com.tgb.web.controller.anotation.upload;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;

@Controller
@RequestMapping("/file")
public class FileUpLoadController {

	@RequestMapping("/fileupload")
	public String fileupload(@RequestParam("file") CommonsMultipartFile file,HttpServletRequest request) {
		System.out.println("file -->"+file.getOriginalFilename());
		
		try{
			if(!file.isEmpty()) {
				FileOutputStream fos = new FileOutputStream("d://hello.jpg");
				InputStream is = file.getInputStream();
				int b = 0;
				while(( b=is.read())!= -1) {
					fos.write(b);
				}
				fos.flush();
				fos.close();
				is.close();
			}
			
		}catch(Exception e) {
			e.printStackTrace();
		}
		return "anotation";
	}
	
	@RequestMapping("/upload2")
	public String upload2(HttpServletRequest request,HttpServletResponse response) throws IllegalStateException, IOException{
		CommonsMultipartResolver multipartResolver  = new CommonsMultipartResolver(request.getSession().getServletContext());
		if(multipartResolver.isMultipart(request)){
			MultipartHttpServletRequest  multiRequest = (MultipartHttpServletRequest)request;
			
			Iterator<String>  iter = multiRequest.getFileNames();
			while(iter.hasNext()){
					MultipartFile file = multiRequest.getFile((String)iter.next());
				if(file != null){
					String fileName =  file.getOriginalFilename();
					String path = "D:/" + fileName;
					
					File localFile = new File(path);
					
					file.transferTo(localFile);
				}
				
			}
	
			
		}
		return "anotation";
	}
	
	@RequestMapping("file")
	public String file(){
		return "anotationfile";
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值