Java后台传入txt文件及form表单的ajax式提交

1.使用form表单进行传递,enctype="multipart/form-data"必须加上。
例如:

同时要配置 spring-mcv.xml,添加如下bean:
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
10485760
UTF-8

后台controller接收方法

public Boolean upLoadFile(@RequestParam("txtFile") MultipartFile upLoadfile){
String lineTxt = null;
InputStream inputStream = upLoadfile.getInputStream();//获得字节流
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);//获得字符流
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);//缓存数据用于读取
while((lineTxt = bufferedReader.readLine())!= null){
String[] s = lineTxt.split(",");//","是你文本中字符与字符之间的分隔符号,可以替换,
//接下来就可以对数组s进行操作了。
}

}

其中“txtFile”是前端表单中input的name的名称,@RequestParam注解进行参数绑定,若还需要用form表单传递其他的值,可以再from中添加隐藏的input进行传值。提交form表单时这些参数会一起提交。

2.接下来介绍form表单的ajax式提交

$("#表单的id").form('submit',{//AJAX方式的提交表单

url:url,
onSubmit : function() { //提交一个有效并且避免重复提交的表单
var isValid = $(this).form('validate');
return isValid; // 返回false终止表单提交
},
success : function(result) {

},
error: function() {
alert("error");
}
});
这样后端controller就可以接收到表单了前提是url要写对。
附上一个我写的小例子:
前端:

选择上传的文件:

js:
$('#turnoutDialog').dialog({
width: 300,
height: 200,
title: '数据备份转出',
modal: true,
buttons: [{
text: '确定',
plain: true,
iconCls: 'icon-ok',
handler: function () { //点击确定按钮提交表单的方法
var nodes = $('#tt').tree('getChecked');
var tablename = '';
var path;
for (var i = 0; i < nodes.length; i++) {
if (tablename != '') tablename += ',';
tablename += nodes[i].text;
}
path = document.getElementById("backupFile").value;
document.getElementById("path1").value = path;
document.getElementById("tableName1").value = tablename;//用隐藏的input标签进行传值
$.messager.progress({
text: '正在上传中...',
});
$("#exportForm").form('submit',{//AJAX方式的提交表单

url:getRealPath()+'/DataManagement/upLoadFile',
onSubmit : function() { //提交一个有效并且避免重复提交的表单
var isValid = $(this).form('validate');
if (!isValid){
$.messager.progress('close'); // 如果表单是无效的则隐藏进度条
}
return isValid; // 返回false终止表单提交

},
success : function(result) {
$.messager.progress('close');
if(result=='true'){
$.messager.show({
title: '提示',
msg: "转入成功!",
});
}else {
$.messager.alert({
title:'警告',
msg:"转入失败!",
});
}
}
});
$('#turnintoDialog').dialog('close');
}
}, {
text: '取消',
plain: true,
iconCls: 'icon-cancel',
handler: function () {
$('#turnintoDialog').dialog('close');
}
}],
});
};

controller:

public Boolean upLoadFile(@RequestParam("path1")String path,@RequestParam("tableName1")String tablename){

//对数据的操作;
}

你可能感兴趣的:(form表单,文件提交)