2017-06-06 4 views
0

für die Datei Angular JS Teil Upload: ich dies in meinem conroller bin mit:Wie implementiert man Datei-Upload mit AngularJS, Spring-Boot?

var uploader = $scope.uploader = new FileUploader({ 
    url: '/imageUpload' 

});

In html: <input type="file" nv-file-select="" uploader="uploader" accept="image/png, image/jpeg, image/gif" name="input-file-preview" ng-disabled="em.checked"/> Frühlings-Boot Part (In-Service-Methode):

@RequestMapping(value="/imageUpload", method = RequestMethod.POST) 
    public void UploadFile(@RequestParam("file") MultipartFile file,RedirectAttributes redirectAttributes) throws IOException { 
     System.out.println("file uploading ..............."); 
     /* 
     Iterator<String> itr=request.getFileNames(); 
     MultipartFile file=request.getFile(itr.next()); 
     String fileName=file.getOriginalFilename(); 
     File dir = new File("C:\\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"); 
     } 
     */ 
    } 

Aber ich bin 403 verboten Fehler bekommen, weil sie nicht in der Lage ist zu finden/Imageupload Ressource. Jeder kann mir erklären, wie dieser fileUploader funktionieren wird, wenn wir mit Springboot arbeiten werden, weil dieser Code mit der php-Datei zum Hochladen gut funktioniert.

Vielen Dank im Voraus

Antwort

0

Serverseitige Implementierung sieht gut aus. Von angular service versuchen, folgenden formData mit einer POST-Anfrage zu verwenden, sollte es funktionieren.

function saveDoc(file) { 
       var deferred = $q.defer(); 
       var formData = new FormData(); 
       formData.append('file', file); 

       $http.post(urls.DOC_URL+'upload', formData,{ 
        transformRequest : angular.identity, 
        headers : { 
         'Content-Type' : undefined 
        }}) 
        .then(
         function (response) { 
          deferred.resolve(response.data); 
         }, 
         function (errResponse) { 
          alert(errResponse.data.errorMessage); 
          deferred.reject(errResponse); 
         } 
        ); 
       return deferred.promise; 
      }; 

Referenz: Spring Boot Angular JS file Upload

Verwandte Themen