使用SpringMVC和js实现文件及字段上传中遇到的坑
2017-08-17 18:19
477 查看
界面代码:
<div class="easyui-layout" fit="true">
<form id="advertise_content_edit_form">
<table border="0" width="100%" cellpadding="5" id="advertise_content_edit_table">
<tr>
<td><input type="file" id="test1" name="sharePic" /></td>
<td><input type="file" id="test2" name-"userLog"/></td>
</tr>
</table>
</form>
</div>
后台代码:
class TestBean{
private MultipartFile sharePic;
private MultipartFile userLog;
}
上传用到的js
function sumbitData(){
if($('#test1').val()==''){
$('#test1').removeAttr('name');
}else{
$('#test1').attr('name','sharePic');
}
if($('#test2').val()==''){
$('#test2').removeAttr('name');
}else{
$('#test2').attr('name','userLog');
}
var options={url:'<%=request.getContextPath()%>/advertisecontroller/editadvertisecontent.action?id=' + id,
beforeSubmit : function() {
return checkadvertisecontentformedit();//校验数据
},
type : 'POST',
success : function(result) {
}
};
$("#advertise_content_edit_form").ajaxSubmit(options);
}
这里特别要注意的是前面的判断file控制是否为空如果为空就去掉name属性,这是因为如果不去掉SpringMVC框架在读取到这个name属性
由于为空字符串强制转换为MultipartFile 会出现问题所有必须去掉这个name属性防止进行强制转换
<div class="easyui-layout" fit="true">
<form id="advertise_content_edit_form">
<table border="0" width="100%" cellpadding="5" id="advertise_content_edit_table">
<tr>
<td><input type="file" id="test1" name="sharePic" /></td>
<td><input type="file" id="test2" name-"userLog"/></td>
</tr>
</table>
</form>
</div>
后台代码:
class TestBean{
private MultipartFile sharePic;
private MultipartFile userLog;
}
上传用到的js
function sumbitData(){
if($('#test1').val()==''){
$('#test1').removeAttr('name');
}else{
$('#test1').attr('name','sharePic');
}
if($('#test2').val()==''){
$('#test2').removeAttr('name');
}else{
$('#test2').attr('name','userLog');
}
var options={url:'<%=request.getContextPath()%>/advertisecontroller/editadvertisecontent.action?id=' + id,
beforeSubmit : function() {
return checkadvertisecontentformedit();//校验数据
},
type : 'POST',
success : function(result) {
}
};
$("#advertise_content_edit_form").ajaxSubmit(options);
}
这里特别要注意的是前面的判断file控制是否为空如果为空就去掉name属性,这是因为如果不去掉SpringMVC框架在读取到这个name属性
由于为空字符串强制转换为MultipartFile 会出现问题所有必须去掉这个name属性防止进行强制转换
相关文章推荐
- SpringMVC结合ajaxfileupload.js实现文件无刷新上传
- 使用AjaxFileUpload.js实现异步文件上传示例
- 使用AjaxFileUpload.js实现文件异步上传
- SpringMVC结合ajaxfileupload.js实现文件无刷新上传
- SpringMVC结合ajaxfileupload.js实现文件无刷新上传
- 使用MultFile.js实现多文件上传
- 使用js来实现模拟无刷新文件上传。
- 使用nodejs+express(4.x+)实现文件上传
- SpringMVC结合ajaxfileupload.js实现文件无刷新上传
- node.js中关于使用formidable模块实现文件上传至指定目录的问题
- 【springmvc】java web使用ajaxSubmit方法实现Excel文件上传
- Asp.net + js 异步上传文件的例子 - 使用iframe实现
- AjaxUpLoad.js使用实现文件上传
- 使用nodejs+express(4.x+)实现文件上传
- HTML5_纯JS实现上传文件显示文件大小,文件信息,上传进度_不使用JS库
- SpringMVC结合ajaxfileupload.js实现文件无刷新上传
- JS使用base64编码实现小文件上传PHP接收后转换
- node.js+android(使用HttpURLConnection和HttpClient)实现文件上传
- 使用ajaxfileupload.js实现ajax上传文件php版
- SpringMVC结合ajaxfileupload.js实现文件无刷新上传