JQuery的AJAX与Spring MVC实现异步文件上传

更多文章请进入:我的开源网

需要:

ajaxfileupload.js包

jquery包

这里还用到了jquery easy ui


action代码:

package com.cjh.action;


import java.io.File;
import java.util.UUID;


import javax.servlet.http.HttpServletRequest;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.commons.CommonsMultipartFile;


@Controller
public class FileUpload {


/**
* 文件上传
* @param file
* @return
*/
@RequestMapping(value="/fileUpload",method=RequestMethod.POST)
@ResponseBody
public String fileUpload(@RequestParam("file")CommonsMultipartFile file,HttpServletRequest request){
/**判断文件是否为空,空直接返回上传错误**/
if(!file.isEmpty()){
/**获取本地文件存储目录**/
String path = request.getSession().getServletContext().getRealPath("/fileupload/");
/**获得文件名**/
String fileName = file.getOriginalFilename();
/**获得文件后缀名**/
String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
/**拼接文件路径,以UUID生成文件名**/
String filePath = path + File.separator + UUID.randomUUID().toString()+ suffix;
/**创建一个要保存的新文件**/
File saveFile = new File(filePath);

try{
/**将文件写入到新文件中**/
file.getFileItem().write(saveFile);

}catch(Exception e ){
e.printStackTrace();
return "{\"code\":\"-1\"}";
}
return "{\"code\":\"1\"}";


}else{
return "{\"code\":\"-1\"}";
}

}


}



fileupload.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>








My JSP 'main2.jsp' starting page





















   


   
     


enctype="multipart/form-data">

上传

 





你可能感兴趣的:(JQuery的AJAX与Spring MVC实现异步文件上传)