2017-01-14 2 views
-1

Как я отслеживать, если загрузка будет успех и перенаправлять на определенную страницу с помощью угловой и нг-файл загрузки (https://github.com/danialfarid/ng-file-upload)показать страницу успеха, если форма успешно отправлена ​​

В настоящее время загружает файл, но мне нужно, чтобы показать ошибка, если форма не удалось вставить в MySQL или показать страницу успеха

Ниже моя угловая функция

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

в моем PHP код

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

Если загрузка будет статус доступа будет возвращать true или еще false

если success я хочу показать эту страницу

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

См. Примеры того, как работать с обещанием callback – charlietfl

+0

Угловая $ http-служба отклоняет, когда сервер возвращает статус HTTP вне диапазона 200-299. Статус возврата 200 OK или 5xx Ошибка сервера. На стороне клиента используйте стандартные методы '.then' и' .catch'. – georgeawg

ответ

0

См пример кода в read.me нг-файлов загрузки:

$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); 
    }); 

Теперь, ваш код будет выглядеть примерно так:

$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); 
    });