2016-06-03 4 views
1

In meiner App setze ich eine Datei-Upload-Steuerelement haben,Wie die Datei-Upload-Steuerelement in Angular JS

<label>Upload File</label> 
    <div class="ui-select"> 
      <input type="file" name="files" ng-files="getTheFiles($files)" /> 
    </div> 

und der Controller-Code, ist das Hochladen von Dateien hilft ...

$scope.file = null; 

    //UPLOAD FILE CODE 
    var formdata; 
    $scope.getTheFiles = function ($files) { 
     console.log($files[0].type); 
     formdata = new FormData(); 
     angular.forEach($files, function (value, key) { 
      formdata.append(key, value); 
     }); 
    }; 

    // NOW UPLOAD THE FILES. 
    $scope.uploadFiles = function() { 
     var request = { 
      method: 'POST', 
      url: BasePath + 'uploadNative/UploadFiles/', 
      data: formdata, 
      headers: { 
       'Content-Type': undefined 
      } 
     }; 

     // SEND THE FILES. 
     console.log(formdata); 

     if (formdata != null || formdata != undefined) { 
      $http(request) 
       .success(function (response) { 
        if (response != "Failed!" && response !="FileAlreadyUploaded") { 
         console.log("Succeeds"); 
        } 
        else if(response == "FileAlreadyUploaded") 
        { 
         angular.element("#fileUploadModal").modal(); 

        } 
        else { 
         console.log("Failed"); 
        } 
       }) 
       .error(function() { 
       }); 
     } 

I wollen die Kontrolle der Datei-Upload auf Erfolg oder Misserfolg dh

nach

angular.element("#fileUploadModal").modal(); 
werden aufgeklärt

zeigt das modale, möchte ich die Kontrolle aufgeklärt werden. Wie würde ich das tun? Bitte erkläre.

Antwort

2

Set ein id-file upload control

Html:

<input id= "control" type="file" name="files" ng-files="getTheFiles($files)" /> 

Controller:

angular.element("#control").value = ""; 
1

Add ng Klick auf Ihre Eingabe:

<input ng-click="reset()" id= "control" type="file" name="files" ng-files="getTheFiles($files)" /> 

und in Ihrem Controller eine Reset-Methode erstellen:

$scope.reset= function() { 
    angular.element("input[type='file']").val(null); 
};