jquery 通过ajax FormData 对象上传附件

之前上传附件都是用插件,或者用form表单体检(这个是很久以前的方式了),今天突发奇想,自己来实现附件上传,具体实现如下

html:

<div>
   流程图: <input id="file" type="file" >
   <button ng-click="bpmmainFunction.createBpm()">提交</button>
</div>

js:

$scope.bpmmainFunction={
            //创建bpm
            createBpm:function(){
                   var file=$("#file")[0].files[0];//获取文件对象
                   var form = new FormData();   //这个是关键
                   form.append("file", file);// 文件对象     
      
                   $.ajax({
                        url:projectName+"/testactivity/test" ,//后台请求
                        type: 'POST',
                        cache: false,
                        data: form,
                        processData: false,
                        contentType: false,
                        async: false
                    }).done(function(res) {
                    
                    }).fail(function(res) {
                        
                    });
        
                
            }
            
    }

java 代码:(用的springmvc,MultipartFile 配置就不说了)

@RequestMapping(value = "test")
    public void test(@RequestParam("file") MultipartFile file2){
        //helloWordService.testProccess();
        //helloWordService.createProccess();
        testBPMService.testProccess(file2);
     
        
    }

如果有多附件 可以通过input file 的change事件来封装上传

$("#file").change(function(){
       
         var  file=this.files[0]//获取附件对象,可通过数组封装再提交
      
        
        
    })

上一篇:Windows Server 2003 增加远程用户个数


下一篇:ajaxfileupload异步上传附件添加參数的方法