2017-05-23 4 views
0

Ich benutze nervgh/angular-Datei-Upload zum Hochladen von Dateien. Wie ich weiß, hat dieser angulare Datei-Upload eigene Upload-Funktionen.Angular Datei hochladen benutzerdefinierte http Post-Dateien

Zur Zeit muss ich nur die Dateien innerhalb des uploader, und dann werde ich meine benutzerdefinierte http Post

$scope.UploadUserFiles = function() { 
    $scope.UserFileRequest = {"File": uploader, "User": myUser} 
    $http.post(host + "/api/user", $scope.UserFileRequest).then(function (response) { }); 
} 

Zur Zeit habe ich die Mühe, diese Dateien aus dem uploader bekommen, da ich keine Ahnung von der haben Eigenschaften und Struktur. Aber für User ist meine eigene Klasse in der Web-API, so dass ich kein Problem habe, irgendwelche Informationen zu bekommen, die ich will.

Das Hauptproblem ist, ich habe keine Ahnung, wie man die uploader es in eine Variable nach dem Post zu meinem Web-API fangen/initialisieren.

[HttpPost] 
[Route("api/user")] 
public UserFileResponse GetUserFile(UserFileRequest userFileRequest) 
{ 
    //What should I do to get the Files from the request and save into the server? 
} 

Mein UserFileRequest enthalten die Informationen von myUser, aber ich weiß nicht, was mit den uploader zu tun, da ich es nicht eine Klasse zu halten.

Antwort

0

Von dem, was ich in Ihrer Frage verstehe, haben Sie Probleme, die Dateien in der Warteschlange in Ihre eigene Datei-Upload-Funktion zu bekommen.

Die Funktionen in der FileUploader-Klasse verfügen über Callbacks, die Sie verwenden können. Eine andere Möglichkeit, die Dateiwarteschlange leicht verfügbar zu machen, besteht darin, nach dem Klicken auf die Schaltfläche "Upload" einen eigenen Callback zu erstellen.

someFxn(item) { 
 
    console.log(item); 
 
     
 
    _someUploadFxn(item) 
 
}
<md-button class="md-blue" ng-click="$ctrl.someFxn(item)" ng-disabled="item.isReady || item.isUploading || item.isSuccess"> 
 
Upload 
 
</md-button>

Dies ermöglicht es Ihnen, die Datei anzuzeigen, die von dort aus wurde die Warteschlange gestellt und Sie können es oder was auch immer Eigenschaften, die Sie aus, dass die Datei-Objekt in Ihre eigene Uploader-Funktion benötigen passieren.

Das gleiche gilt, wenn Sie mehrere Dateien gleichzeitig hochladen möchten.