(MultipartHttpServletRequest) request对象转换错误

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;对象转换错误,

去网上查了一下,一般都是两处需要注意:

1)首先在servlet.xml里需要配置(SpringMVC封装了commons-fileupload上传组件)


  
    	  
	      
	        1048576000  
	      
	    	
			1024
		
    

2)需要检查一下form表单是否有这个属性enctype="multipart/form-data"

一般这两处都加上,(MultipartHttpServletRequest) request;转换都正常了,可是我在项目里还是报错。于是在方法判断一下,尼玛,提示没有enctype="multipart/form-data"。见鬼了。

action代码:


 public void upsendFile(String path,HttpServletRequest request) throws IllegalStateException, IOException{
        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());  
        if (multipartResolver.isMultipart(request)) {  
            System.out.println("ss");
        }
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
      
        MultipartFile multipartFile = multipartRequest.getFile("fileName");
        File file = new File(path + multipartFile.getOriginalFilename());
        multipartFile.transferTo(file);
        log.debug(multipartFile.getOriginalFilename());
    }

在Google百度一会也没有找到问题所在。就在想是不是js哪里有问呢。js哪里是使用window.location.href("")跳转的。跳转的时候没提交表单?但也不会,前面的重命名也是用window.location.href("")跳转也没有问题

于是乎我就改成document.documentForm.action="";果然是没有提交表单。

js代码:


$("#execUpsend").click(function(){
		 var endPath=$("input[name=fileName]").val();
		 if (""==endPath) 
		 {
			alert("请选择文件!");
			return;
		 }
		 document.documentForm.action = "/swbz/ywgl?fileB=2&paths="+paths+"&endPath="+endPath;
         document.documentForm.submit();
	 });

用作保存,原文地址为:https://blog.csdn.net/liqimo1799/article/details/25998199

你可能感兴趣的:(Java,文件上传)