开发者社区> 问答> 正文

Jfinal getFile("xxxx").getUploadPath()无?400报错

采用的 是 Jfinal  框架 ,用jq ajax 上传文件

    this.getfile(“xxxx”).getUploadPath() 想获上传文件的路径 ,总是无法获取到报错 空指针异常。 getPara("xxx")也无法获取到对应的参数。

    

前台代码    

<form enctype ="multipart/form-data" id="upload">
    <div class="bus-personal">
    	<div class="bus-personal-model"><span>姓名:</span><input name="userName" type="text"   id="userName"></div>
     	<div class="bus-personal-model"><span>号码:</span><input name="userID" type="text"    id="userId"   ></div>
     	<div class="bus-personal-pic">
 			<ul id="warp" class="UP-warp">
 			<li>
    			<input type="file" id="up_img_WU_FILE_0" class="UP-file" name="Idcard_1">
    			<img src="images/sfz.png" width="150"  height="100" id="imgShow_WU_FILE_0"/>
 			</li>
 			<li>
    			<input type="file" id="up_img_WU_FILE_1" class="UP-file" name="Idcard_2">
    			<img id="imgShow_WU_FILE_1" width="100" height="100" src="images/sfz1.png">  
  			</li>
 			<li>
    			<input type="file" id="up_img_WU_FILE_2" class="UP-file" name="Idcard_3">
    			<img id="imgShow_WU_FILE_2" width="100" height="100" src="images/sfz2.png">
 			</li>
			</ul>
		</div>
	</div>
  </form>

 ajax  传参数

        //获取对应id的值
        var userName = $("#userName").val();
		var userID = $("#userId").val();
		var file1 = $("#up_img_WU_FILE_0").val();
		var file2 = $("#up_img_WU_FILE_1").val();
		var file3 = $("#up_img_WU_FILE_2").val();
		
		var data = new FormData();
		data.append("userName", userName);
		data.append("userID", userID);
		data.append("file1",file1);
		data.append("file2",file2);
		data.append("file3",file3);

       $.ajax({
				url:"<%=basePath%>User/authenticationPersonal",
				type:"post",
				data:data,
				dataTyep:"JSON",
				cache:false,   		//禁止浏览器对该URL(以及对应的HTTP方法)的缓存
				contentType:false,	//禁止jQuery的转换操作 
				processData:false,  //不需要对数据做处理
				success:function(data){
					layerOpen("test");
				},
				error:function(){
					layerOpen("error");
				}
			});
	

 后台获取参数   所有表单提交过去到后台的参数 都为空 ,无法获取参数。

	    //文件路径
		String filePath1 = this.getFile("Idcard_1").getUploadPath();
		String filePath2 = this.getFile("Idcard_2").getUploadPath();
		String filePath3 = this.getFile("Idcard_3").getUploadPath();
		
		
		String name = this.getPara("userName");
		String idcardNo = this.getPara("userID");
		

代码

展开
收起
爱吃鱼的程序员 2020-06-08 13:11:43 585 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    先弃用ajax请求,先改成纯表单提交的方式看是否能成功,确保这样能成功以后再改造成ajax的形式,目测是ajax请求方式不正确

     

    ajax表单提交建议使用jqueryform这个第三方,极度方便

    谢谢,我发现一个很奇怪的问题后台直接用this.getFile("xxxx").getUploadPath()无法直接获取到上传路径,但是先this.getFile("xxxx")之后在getUploadPath()就能获取到路径?不明白怎么回事?
    2020-06-08 13:12:00
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Apache Wicket User Guide - Ref 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载