您的位置:首页 > Web前端 > JQuery

JQueryAjax使用SpringMVC中MultipartFile进行文件上传的整合

2016-08-03 17:15 543 查看
本篇文章主要介绍了"JQueryAjax使用SpringMVC中MultipartFile进行文件上传的整合",对于Javascript教程感兴趣的同学可以参考一下: 对于一个带有文件上传的表单,后台使用springMVC封装的MultipartFile
file接收文件,并且需要使用异步提交,并返回相应的提示信息在这种情况下...

下载地址:http://malsup.github.com/jquery.form.js

对于一个带有文件上传的表单,后台使用springMVC封装的MultipartFile file接收文件,并且需要使用异步提交,并返回相应的提示信息

在这种情况下,我最开始使用了好几种方法

第一种:普通的JQUERY的AJAX,但是后台一旦使用MultipartFile 这个类接收就会报request的一个异常BUG,这种方法不行

第二种:使用JQUERY的普通表单提交,也就是submit,后台使用springMVC,这种情况可以实现,但是后台必须跳转页面,也就是无法异步提交

于是产生了第三种方法

第三种:使用JQUERY的form插件,即jquery.form.js这个插件,然后使用插件的ajaxSubmit方法;代码如下

前端:
$("#pageForm").ajaxSubmit({
type: "POST",
url:"你的action.html",
dataType: "json",
success: function(data){
if(data.msg=='SUCCESS'){
alert(success);
}
else{
alert(data.msg);
}
}
});
后端:

@RequestMapping("/insertGoodsBrand")
public void insertGoodsBrand(
HttpServletRequest request,
@RequestParam(value = "file", required = false) MultipartFile file,HttpServletResponse response,
GoodsBrand goodsBrand){
JSONObject obj = new JSONObject();
PrintWriter out = null;
try {
out = response.getWriter();
String path = request.getSession().getServletContext().getRealPath(
"upload\\goods\\brand");
String fileName = file.getOriginalFilename();
String saveFileName = Common.getNowCorrect2Second() + "."
+ fileName.substring(fileName.lastIndexOf(".") + 1);
File targetFile = new File(path, saveFileName);
if (!targetFile.exists()) {
targetFile.mkdirs();
}
String msg = "";
file.transferTo(targetFile);
msg = backGoodsBrandBus.insertGoodsBrand(goodsBrand, saveFileName);
if (msg.equals("SUCCESS")) {
obj.put("msg", msg);
} else {
obj.put("msg", msg);
}
out.print(obj);
} catch (Exception e) {
e.printStackTrace();
}
finally{
out.close();
}
}
这样既能解决文件传值,又能异步提交了

以上就介绍了JQueryAjax使用SpringMVC中MultipartFile进行文件上传的整合,包括了方面的内容,希望对Javascript教程有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_104331.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: