ajax上传文件及参数前后台
使用formData和input文件类型
HTML
<label class="w160 fl" style='width: 150px;'><em>*</em>文件上传:</label>
<input type="text" name="uploadFile" class="gy-inp w250" readonly="readonly" filePath=""></input>
<a href="javascript:void(0);"class="blueBtn" style="position:relative">浏览
<input multiple="multiple" type="file" id="file" name="file" class="file" accept = "txt/*"/></a>
js和ajax代码
var formData = new FormData();
formData.append("file",temp.currSelector.find(":file")[0].files[0]);
formData.append("params",params);
//AGENCY_INFO_ADD_BATCH
$.ajax({
url:"url",
type:"post",//post请求方式
data:formData,//参数
cache: false,
processData: false,
contentType: false,
dataType : "json",
success:function (data) {
if( "0" == data.resultCode ){
layer.alert("上传成功");
temp.orderUploadInfo = data.resultObject;
}else{
layer.alert(data.resultMsg);
}
},error:function () {
layer.alert(data.resultMsg);
}
})
java接收文件与参数
@ResponseBody
@RequestMapping(value = "infoAddBatch", method = {
RequestMethod.POST })
public Map<String, Object> agencyInfoAddBatch(MultipartFile[] file, String params,HttpSession session) throws IOException {
Date date = new Date(); //获取当前的系统时间。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd") ; //使用了默认的格式创建了一个日期格式化对象。
String time = dateFormat.format(date); //可以把日期转换转指定格式的字符串
// 获取web容器的文件路径
Map<String, Object> returnMap = new HashMap<String, Object>();
MultipartFile files = file[0];
// 获取文件名
String filename = files.getOriginalFilename();
// 定义存储信息的list和map
ArrayList<Map<String, Object>> listArr = new ArrayList<Map<String, Object>>();
// 获取文件输入流
InputStreamReader reader = new InputStreamReader(files.getInputStream());
BufferedReader br = new BufferedReader(reader);
String line = "";
// 按行级遍历处理文件
line = br.readLine();
int countLine = 1;
int flag = 0;
String resultMsg = "";
while (line != null) {
Map<String, Object> reqObj = new HashMap<String, Object>();
String[] strArr = line.split("\t");
listArr.add(reqObj);
// 再读取一行数据
line = br.readLine();
countLine++;
}
return returnMap;
}
其中params的类型可以是其他类型,但是对应的controller的方法中的参数类型要保持一致,推荐使用map类型
今天的文章ajax上传文件及参数后台获取分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/10169.html