程序员的知识教程库

网站首页 > 教程分享 正文

form表单同时提交文件和参数(form表单同步提交)

henian88 2024-08-17 16:02:20 教程分享 15 ℃ 0 评论

1.说明

项目中使用form表单配合ajax同时提交文件和其他的参数,具体实现请看代码

2.前端代码

  1. form表单部分

前台提交的是方式是form表单方式,提交内容包括普通的参数和文件

<form action="" class="form-horizontal " id="equipmentTypeform" enctype=”	multipart/form-data”/>

            <input type="text" class="form-control" id="manufacturer" name="manufacturer">

   			<input type="text" class="form-control" maxlength="20" id="equipmentTypeNm" name="equipmentTypeNm" placeholder="请输入设备类别名称">

            <a href="javascript:fileChange();"  data-item="import" class="btn btn-primary btn-xs m-5"><i class="fa fa-eye"></i>导入</a><span id="importName"></span>

			<input type="file" id="fielUpload" name="file" style="display: none" onchange="importDfFile()" />    

            </from>


2.ajax

var formData = new FormData(); //需要用到formData 

 		formData.append('file',$("#fielUpload")[0].files[0]); //添加选择的文件 key值为file

 		//把from表单的参数序列化 转换成json key值为 equipmentTypeForm

		formData.append('equipmentTypeForm',JSON.stringify($('#equipmentTypeform').serializeObject())) 

 		$.ajax({

 	 		type : "post",

 	 		url : "aaa.ajax",//自己的接口地址

 	 		data :formData,

 	 		dataType : "json",

 			 cache: false,

 		     async:false,

 		     processData: false,

 		     contentType: false,//必须添加 

 	 		success : function(data) {

 	 			if(data.success){

 	 				//成功之后执行的代码

 	 			}else{

 	 				//失败之后的代码

 	 			}

 	 		}

 	 	});

3.后端代码

@ResponseBody

	@RequestMapping(value = "/aaa.ajax",method = RequestMethod.POST)

	public String save(@RequestParam(value="file") MultipartFile file,HttpServletRequest reuqest) {

	//拿到json 转换成我们需要的对象

		 EquipmentTypeForm equipmentTypeForm = JSONObject.parseObject(reuqest.getParameter("equipmentTypeForm"), EquipmentTypeForm.class);

		 System.out.println();

		 System.out.println(file);

		 }

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表