springMVC文件上传,判断是否有文件上传,解决没有文件上传时的出现异常的问题

前言:项目中有这样的需求,多个功能公用一个页面,如添加“添加景区”,“添加派出所”,“添加医院”,“添加学校”等都公用一个页面,公用一个form表单,在添加信息时它们都公用一个方法。

问题:问题在于“添加景区”功能中有一个上传图片文件的功能而其余的功能则没有上传文件的需要。之前我们是在方法中声明:@RequestParam("imageFile") MultipartFile imageFile,现在如果还在这样做的话当没有文件上传时就会有异常了。找到了问题就想办法解决问题。

解决办法:思想是我们先判断一下,是否有文件上传,如果没有文件上传就用以前的表单,如果有文件上传就采用如下做法:


public String save(EnterpriseBusiness enterpriseBusiness, HttpServletRequest request) {
		//@RequestParam("imageFile") MultipartFile imageFile,
		 // 创建一个通用的多部分解析器.
	    CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
	    // 设置编码
	    commonsMultipartResolver.setDefaultEncoding("utf-8");
	    // 判断是否有文件上传
	    if (commonsMultipartResolver.isMultipart(request)) {//有文件上传

	    	//将request变成多部分request
            MultipartHttpServletRequest multiRequest=(MultipartHttpServletRequest)request;
	        
            //获取multiRequest 中所有的文件名
            Iterator<String> iter=multiRequest.getFileNames();
	        
	        while (iter.hasNext()) {
	            MultipartFile imageFile = multiRequest.getFile(iter.next().toString());//(String) iter.next()

到此为止就相当于回到了:
@RequestParam("imageFile") MultipartFile imageFile,
紧接着你就可以做文件上传的相关操作了。对于以上的代码,备注的很清楚。如有不明白欢迎留言,或者加我的QQ:416404891

     晚安!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值