java异步上传文件(方式一)

可以使用jquery-form插件来实现异步上传文件,请自行下载jquery-form.js

<script type="text/javascript" src="js/jquery1.11.3.min.js">script>
<script type="text/javascript" src="js/jquery-form.js">script>

前端代码如下:

"ff" enctype="multipart/form-data" method="post"> "file" type="file" name="file" multiple="multiple"/>
type="button" value="插件异步上传" onclick="upload()"/>

js代码如下:

<script>
    function upload(){
        if($('#file').val() == ""){
            alert('你没有选中文件!');
            return ;
        }
          var options = {
                type: "post",
                 url : "upload/testAjaxUpload",
                 dataType: "text",
                 success : function(data) {
                    if(data == 'true'){
                        alert("上传成功!");
                    }else{
                        alert("上传失败!");
                    }
                 }
         }; 
         //jquery-form用插件异步提交
          $('#ff').ajaxSubmit(options);  
    }
script>

后台代码如下:

//使用jquery-form插件异步上传文件
    @RequestMapping("/testAjaxUpload")
    @ResponseBody
    public String testAjaxUpload(
            @RequestParam(value = "file", required = false) MultipartFile file,
            HttpSession session) {
        String result = "false";
            if (file != null) {
                try{
                   String path = session.getServletContext().getRealPath("/upload/");  //获取本地存储路径
                   String fileName = file.getOriginalFilename();
                   String fileType = fileName.substring(fileName.lastIndexOf(".")); //获取后缀名
                   String newName=new Date().getTime() + fileType;
                   File file2 = new File(path,newName); //新建一个文件
                   file.transferTo(file2);
                }catch(Exception e){
                    return "false";
                }
                result = "true";
            }
        return result;
    }

你可能感兴趣的:(文件操作,java,异步,文件上传)