(MultipartHttpServletRequest) request对象转换错误

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

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

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


<bean id="multipartResolver"   class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
    	<!-- 设置上传文件的最大尺寸为10MB -->  
	    <property name="maxUploadSize">  
	        <value>1048576000</value>  
	    </property>  
	    	<property name="maxInMemorySize">
			<value>1024</value>
		</property>
    </bean>

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

<form name="form" method="post" action="home.htm" enctype="multipart/form-data" id="documentForm">

一般这两处都加上,(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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值