2016-12-19 5 views
0

Ich baue eine App, die das Cordova-Kamera-Plugin verwendet. Jetzt konnte ich auf die Kamera des Geräts zugreifen und die Datei-URL abrufen.Ionic: Kamerabilder auf dem Gerät speichern und später hochladen

Ich möchte das Bild und den Bildpfad zu LocalSpeicher und die speichern und später zum Hochladen verwenden, wenn das Gerät online wird.

hier ist mein Code so weit

-Controller

$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> 

wie kann ich meine Ausgabe erreichen? Ich habe das Cordova-Datei-Plugin bereits installiert ..

Antwort

0

Ok, also sobald Sie die Datei-URL haben, alles, was Sie tun müssen, ist es zu speichern und eine gute Option ist https://github.com/gsklee/ngStorage. Sie müssen es möglicherweise so stringieren, dass es ordnungsgemäß gespeichert wird. Überprüfen Sie, ob es ordnungsgemäß gespeichert wurde, indem Sie log verwenden, und verwenden Sie dann http://ngcordova.com/docs/plugins/fileTransfer/, um das Bild hochzuladen, sobald das Gerät online ist. Irgendwelche Probleme, lme kno.

Verwandte Themen