2017-01-14 3 views
-1

vorgelegt Wie kann ich verfolgen, wenn ein Upload-Erfolg ist und es lädt die Datei auf eine bestimmte Seite mit Winkel- und ng-Datei-Upload (https://github.com/danialfarid/ng-file-upload)zeigen Erfolg Seite, wenn Formular erfolgreich

Zur Zeit umleiten, aber ich brauche zu zeigen, ein Fehler, wenn das Formular an mysql einfügen fehlgeschlagen ist, oder den Erfolg Seite zeigen

Unten ist meine Winkelfunktion

Upload.upload({ 
    url: 'api/upload-image.php', 
    method: 'POST', 
    file: file, 
    data: { 
     'awesomeThings': $scope.awesomeThings, 
     'targetPath' : '/media/' 
    } 
}) 

in meinem pHP-Code

$status = $this->Upload_tools->add($data); 

Wenn ein Upload-Zugriffsstatus ist kehrt true oder sonst false

wenn success ich diese Seite

  $location.path('/show/'+qid); 
+0

Weitere Informationen zum Arbeiten mit "Versprechen" -Rückruf finden Sie unter – charlietfl

+0

Der Angular $ http-Dienst wird abgewiesen, wenn der Server den HTTP-Status außerhalb des Bereichs 200-299 zurückgibt. Geben Sie den Status 200 OK oder 5xx Serverfehler zurück. Auf der Client-Seite verwenden Sie die Standardversprechen '.then' und' .catch' Methoden. – georgeawg

Antwort

0

Siehe Beispielcode in ng-Datei-Upload-read.me zeigen wollen:

$scope.upload = function (file) { 
    Upload.upload({ 
     url: 'upload/url', 
     data: {file: file, 'username': $scope.username} 
    }).then(function (resp) { 

     console.log('Success ' + resp.config.data.file.name + 'uploaded. Response: ' + resp.data); 
    }, function (resp) { 
     console.log('Error status: ' + resp.status); 
    }, function (evt) { 
     var progressPercentage = parseInt(100.0 * evt.loaded/evt.total); 
     console.log('progress: ' + progressPercentage + '% ' + evt.config.data.file.name); 
    }); 

Nun wird der Code so etwas wie dieses:

$scope.upload = function (file) { 
    Upload.upload({ 
     url: 'api/upload-image.php', 
     method: 'POST', 
     file: file, 
     data: { 
      'awesomeThings': $scope.awesomeThings, 
      'targetPath' : '/media/' 
     } 
    }).then(function (resp) { 
     //Success case code 
     $location.path('/show/'+qid); 
    }, function (resp) { 
     //Error case code 
    }, function (evt) { 
     //progress calculation 
     var progressPercentage = parseInt(100.0 * evt.loaded/evt.total); 
     console.log('progress: ' + progressPercentage + '% ' + evt.config.data.file.name); 
    }); 
Verwandte Themen