2016-12-19 3 views
0

私はcordova-cameraプラグインを使用するアプリを構築しています。今すぐデバイスカメラにアクセスしてファイルURLを取得することができました。Ionic:カメラの画像をデバイスに保存して後でアップロードする

イメージとイメージパスをlocalstorageに保存し、後でデバイスがオンラインになったときにアップロードに使用します。

ここに私のコードは、これまでのところだ

コントローラ

$scope.takePhoto = function(){ 
    var element = event.target; 
     var options = { 
      quality: 75, 
      destinationType: Camera.DestinationType.FILE_URL, 
      sourceType: Camera.PictureSourceType.CAMERA, 
      allowEdit: true, 
      encodingType: Camera.EncodingType.JPEG, 
      targetWidth: 100, 
      targetHeight: 100, 
      popoverOptions: CameraPopoverOptions, 
      saveToPhotoAlbum: false, 
      correctOrientation:true 
     }; 

     $cordovaCamera.getPicture(options).then(function(imageData) { 
      $scope.imageURI = "data:image/jpeg;base64," + imageData; 
      angular.element(element).closest('.input-group').find('.input-container').val($scope.imageURI) 
      console.log(angular.element(element).closest('.input-group').find('.input-container').attr('id')); 

     $cordovaFile.moveFile(cordova.file.applicationDirectory, imageData, cordova.file.externalRootDirectory) 
       .then(function (success) { 
       console.log('success') 
       }, function (error) { 
       console.log(error) 
       }); 

     }, function(err) { 
      console.log(err) 
     }); 
    console.log(); 
} 

HTML

<div class="form-group"> 
     <label for="factory_gate" class="label-control">Factory Gate</label> 
     <div class="input-group"> 
      <input type="text" class="form-control input-container" id="factory_gate" ng-model="factory_gate" placeholder=""> 
      <span class="input-group-btn"> 
      <button class="btn btn-secondary btn-success" type="button" ng-click="takePhoto($event)"> 
       <i class="icon ion-android-camera"></i> 
      </button> 
      </span> 
     </div> 
    </div> 

どのように私は私の出力を達成することができますか?既にコードバファイルプラグインをインストール済みです。

答えて

0

[OK]をクリックしたら、ファイルURLを保存しておくと保存するだけです。良いオプションはhttps://github.com/gsklee/ngStorageです。文字列を適切に格納するためには、logを使用して正しく格納されていることを確認してから、http://ngcordova.com/docs/plugins/fileTransfer/を使用して、デバイスがオンラインになったらイメージをアップロードしてください。何か問題があります。

関連する問題