文件上传

  1. 基于apache的commons-fileupload.jar完成文件上传

  2. MultipartResolver作用:
    2.1. 把客户端才上传的文件流转成MultipartFile封装类
    2.2. 通过MultipartFile封装类获取文件流

  3. 表单数据类型分类
    3.1. 在<form>的enctype属性控制表单类型
    3.2默认值application/x-www-form-urlencoded,普通表单数据(少量文字信息)。
    3.3. text/plain大文字量时使用的类型。例如上传邮件、论文等情况(最大2GB)
    3.4. multipart/form-data表单中包含二进制文件内容

  4. 实现步骤
    4.1 导入SpringMVC 包和Apache文件上传commons-fileupload和commons-io两个jar
    4.2 编写jsp

<form action="upload" enctype="multipart/form-data" method="post">
	输入<input type="text" name="name"/><br/>
	文件<input type="file" name="fileName"/><br/>	
	<input type="submit" value="登录"/>
</form>

4.3 编写控制器类

@RequestMapping("upload")	
	public String upload(MultipartFile fileName, String name) throws IOException {
		System.out.println("name:" + name);
		MultipartResolver mr = null;
		//FileUtils.copyFile(file, destFile);
		//获取上传文件的文件名,不同浏览器不同,有的为全路径,有的只有文件名
		String originalFilename = fileName.getOriginalFilename();
		String fileType = originalFilename.substring(originalFilename.lastIndexOf("."));
		//判断上传类型
		if(fileType.equalsIgnoreCase(".png")) {
			//生成随机id,保证文件名不重复
			String uuid = UUID.randomUUID().toString();
			FileUtils.copyInputStreamToFile(fileName.getInputStream(), new File("D:/测试上传/" + uuid + fileType));
			return "index";			
		} else {
			return "error2";
		}	
		
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值