2015-02-10 65 views
0

我有angularjs和春天休息文件上傳它工作得很好,但我需要更改HTML文件中的文件上傳到dropzone.js或任何拖放文件上傳,我試過dropzone.js庫但我不能與角度整合,任何人都可以幫助我,我該怎麼做?拖放文件上傳與AngularJS和春天休息

Angularjs控制器

$scope.document = {}; 
    $scope.setTitle = function(fileInput) { 
    var file=fileInput.value; 
    var filename = file.replace(/^.*[\\\/]/, ''); 
    var title = filename.substr(0, filename.lastIndexOf('.')); 
    $("#title").val(title); 
    $("#title").focus(); 
    $scope.document.title=title; 
}; 


$scope.uploadFile=function(){ 
     var formData=new FormData(); 
     formData.append("file",file.files[0]); 
     $http.post('/app/newDocument', formData, { 
      transformRequest: function(data, headersGetterFunction) { 
       return data; 
      }, 
      headers: { 'Content-Type': undefined } 
      }).success(function(data, status) {      
       console.log("Success ... " + status); 
      }).error(function(data, status) { 
       console.log("Error ... " + status); 
      }); 
    }; 
}); 

HTML表單

<form ng-submit="uploadFile()" class="form-horizontal" 
       enctype="multipart/form-data"> 
<input type="file" name="file" ng-model="document.fileInput" id="file" /> 
<input type="text" class="col-sm-4" ng-model="document.title" id="title" /> 
    </form> 

休息控制器

@RequestMapping(value="/newDocument", method = RequestMethod.POST) 
    public void UploadFile(MultipartHttpServletRequest request, 
    HttpServletResponse response) throws IOException { 

     Attachment attachment=new Attachment(); 
     Iterator<String> itr=request.getFileNames(); 
     MultipartFile file=request.getFile(itr.next()); 
     String fileName=file.getOriginalFilename(); 
     attachment.setName(fileName); 
     File dir = new File("D:\\file"); 
     if (dir.isDirectory()) 
     { 
      File serverFile = new File(dir,fileName); 
      BufferedOutputStream stream = new BufferedOutputStream(
       new FileOutputStream(serverFile)); 
      stream.write(file.getBytes()); 
      stream.close(); 
     }else { 
     System.out.println("not"); 
     } 

} 

回答