2017-10-10 10 views
2

私はサーバーにイメージをアップロードするサービスを1つ書きましたが、コントローラからそのサービスを使用していますが、サービスで定義されている定義されていない機能を示すサービスを呼び出しています。エラーが、私は、このサービスサービスは定義されていません。

app.controller('settingsCtrl', ['$scope','apiCall','$filter', function($scope,apiCall,$filter,fileUpload){ 
    $scope.saveStudioBranch = function(){ 
     studio(); 
     admin(); 
     branch(); 
    } 

    function studio(){ 
     var studio_json = {"session_id":session_id,"u":[{"col":"studio","val":$scope.studioDetails.studio},{"col":"type","val":$scope.studioDetails.type}],"filter":[["id","=","1"]],"table":"studio"}; 
     apiCall.callEndpoint(studio_json,"settingRoute.php","update",json_header).then(function(response){ 
      if(response.data.error == 0){ 
       if($scope.inst_logo != undefined){ 
        var uploadUrl = "https://papa.fit/routes/registrationRoute.php?action=instLogo"; 
        -->> fileUpload.uploadFileToUrl($scope.inst_logo,session.client_id,uploadUrl); 
       } 
      } 
      else 
       show_snack(response.data.message); 
     }); 

    } 
}); 
を呼び出しています

app.service('fileUpload', ['$http', function ($http) { 
    this.uploadFileToUrl = function(file,clientid, uploadUrl){ 
     var fd = new FormData(); 
     fd.append('file', file); 
     fd.append('id', clientid); 
     $http.post(uploadUrl, fd, { 
      transformRequest: angular.identity, 
      headers: {'Content-Type': undefined} 
     }) 
     .success(function(response){ 
      console.log(response) 
     }) 
     .error(function(){ 
     }); 
    } 
}]); 

とここに私のコードこの"未定義のプロパティを読み取ることができません 'uploadFileToUrl'" のようなものがここに

があります

サービスを呼び出す場所に矢印を追加しました

+0

サービスを注入しているコードを表示してください – Satpal

+0

オハイオ州申し訳ありません。上記のコードを編集して再確認してください –

答えて

4

未定義になり

app.controller('settingsCtrl', ['$scope','apiCall','$filter', 'fileUpload', 
    function($scope, apiCall, $filter, fileUpload){ 
+0

ohh私の悪い。そんなにカリムに感謝します –

+0

あなたは大歓迎です:) – Karim

0

あなたのサービスを返す必要があり、そうでなければ、エラーがあなたがパラメータのリスト内fileUploadサービスを追加するのを忘れ

app.controller('settingsCtrl', ['$scope','apiCall','$filter', 
    function($scope, apiCall, $filter, fileUpload){ 

注入である

function uploadFileToUrlSrv($http) { 

    var service = {}; 
    service.uploadFileToUrl = function(file,clientid, uploadUrl){ 
     var fd = new FormData(); 
     fd.append('file', file); 
     fd.append('id', clientid); 
     $http.post(uploadUrl, fd, { 
      transformRequest: angular.identity, 
      headers: {'Content-Type': undefined} 
     }) 
     .success(function(response){ 
      console.log(response) 
     }) 
     .error(function(){ 
     }); 
    } 
    return service; 
} 
+0

私はあなたを得ませんでした。あなたは簡単にexplianできますか? –

+0

@sameerdigheサービスは一連の機能です。コントローラでオブジェクトを使用するためのオブジェクトとしてサービスを返す必要があります – Zooly

+0

サービスをどのように表示するべきかのコードサンプルを編集しましたが、あなたが**サービスを返す必要があることを常に心に留めておいてください。それを作成:) –

関連する問題