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

本篇文章主要介绍了"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教程有兴趣的朋友有所帮助。



你可能感兴趣的:(js总结)