2017-01-04 5 views
0

FileTransferプラグインを使用してionicアプリからリモートサーバーに画像ファイルをアップロードしようとすると「コード3」(接続拒否)エラーが発生します。Ionic:ng-cordova fileTransferとCamera Pluginを使用して画像をアップロードするときにエラーコード3を取得する

Iカメラプラグインを使用し、撮影した画像は、永久的な記憶装置に

$scope.selectPicture = function(sourceType) { 
    var options = { 
     quality: 75, 
     destinationType: Camera.DestinationType.FILE_URI, 
     sourceType: Camera.PictureSourceType.CAMERA, 
     allowEdit: true, 
     encodingType: Camera.EncodingType.JPEG, 
     popoverOptions: CameraPopoverOptions, 
     saveToPhotoAlbum: false, 
     correctOrientation:true 
    }; 

    $cordovaCamera.getPicture(options).then(function(imagePath) { 
     var currentName = imagePath.replace(/^.*[\\\/]/, ''); 
     //Create a new name for the photo 
     var d = new Date(), 
     n = d.getTime(), 
     newFileName = n + ".jpg"; 

     localStorage.setItem('checklist',newFileName); 
     var namePath = imagePath.substr(0, imagePath.lastIndexOf('/') + 1); 
      // Move the file to permanent storage 
      $cordovaFile.moveFile(namePath, currentName, cordova.file.dataDirectory, newFileName).then(function(success){ 
      $scope.image = newFileName; 
      localStorage.setItem('checklist',newFileName); 
      }, function(error){ 
      $scope.showAlert('Error', error.exception); 

      }); 
    }, function(err) { 
     // error 
    }); 
}; 

を移動し、私は私はreportSending()機能を実行するときに返す変数をFileTransferプラグインを

$scope.reportSending = function(){ 
    $scope.report_no = localStorage.getItem('reportNumber'); 
    $scope.imageLoc = localStorage.getItem('checklist'); 

    var server = "http://localhost/api/api/public/api/sendreport", 

    filePath = cordova.file.dataDirectory + $scope.imageLoc; 

    var date = new Date(); 

    var options = { 
     fileKey: "file", 
     fileName: $scope.imageLoc, 
     chunkedMode: false, 
     mimeType: "multipart/form-data", 
     params : { 
      report_no : $scope.report_no 
     } 
    }; 

    $cordovaFileTransfer.upload(server, filePath, options).then(function(result) { 
     console.log(JSON.stringify(result.response)); 

    }, function(err) { 
     console.log("ERROR: " + JSON.stringify(err)); 
     //alert(JSON.stringify(err)); 
    }, function (progress) { 
     // constant progress updates 
    }); 

}; 

を使用して画像をアップロードエラーメッセージ:

ERROR: {"code":3,"source":"file:///data/user/0/com.ionicframework.appnew343084/files/1483519701226.jpg","target":"http://localhost/api/api/public/api/sendreport","http_status":null,"body":null,"exception":"Connection refused"} 

「connectio nは拒否されました。例外はありますが、郵便番号でAPIを試してみると、ファイルを正常にアップロードできます。

答えて

0

だからフォーラムのトンを検索した後、私は私の問題は非常に簡単だったことが分かった。..

APIのURLを変更する問題を修正しました。

var server = "http://localhost/api/api/public/api/sendreport", 

代わりに使用しての

var server = "http://192.168.1.17/api/api/public/api/sendreport"; 

からlocalhostの私は自分のローカルサーバーのIP にURLを指摘し、また、私はでコンマ ,の代わりに、セミコロンを使用していることに気づきました私の変数宣言のAPIの終わり。

これですべてが正常に動作します。

関連する問題