0

私は、イオン1とファイアベース3を持つ をプログラミングしています。イオン1、firebase storage、cordova.getPictures、画像を保存しませんか?

イメージをfirebaseのストレージにアップロードします。

私はhtml fileuploadを使用するとイメージが保存されますが、 "cordova.getPictures"を使用するとイメージは保存されません。

コード:カメラから画像を取り込む

.controller("PhotosCtrl",function($scope,$firebaseArray,$firebaseAuth,$firebaseObject, $timeout, $cordovaImagePicker, $ionicPopup){ 

$scope.upFile = function(){ 

    pickTheImage().then(function(_image) { 
    processImage(_image); 

    }) 

} 

function pickTheImage() { 
     var options = { 
     maximumImagesCount: 1, 
     width: 320, 
     quality: 80 
     }; 

     return $cordovaImagePicker.getPictures(options).then(function (results) { 
      return results[0]; 
     }) 
    } 

    function processImage(_image) { 

    fetch(_image).then(function (_data) { 
     return _data.blob() 
     }).then(function (_blob) { 

     var task=firebase.storage().ref('images/12312355.jpg').put(_blob); 

     task.on('state_changed', 

     function progress(snapshot){ 
     }, 
     function error(err){ 
      $ionicPopup.alert({ 
      title: err 
      }) 
     }, 
     function complete(){ 
      $ionicPopup.alert({ 
       title: "Imagen guardada!" 
      }) 
     } 
    ); 
     }) 
    } 
}) 

答えて

0

はIMAGEURLを返します。 blob型に変換する場合は、processImage関数で以下のコードを使用します。

//Read the file entry from the file URL 
      resolveLocalFileSystemURL(imgUrl, function (fileEntry) { 
       fileEntry.file(function (file) { 
        var reader = new FileReader(); 
        reader.onloadend = function() { 
         var imgBlob = new Blob([this.result], { 
           type: file.type 
          }); 
         var imgFile = imgBlob; 

        }; 
        reader.readAsArrayBuffer(file); 
       }); 
      }, function() { 
       //on Error 
      }); 

また、参照することができ http://ourcodeworld.com/articles/read/22/solve-native-path-of-android-content-if-resolvelocalfilesystemurl-doesn-t-work

関連する問題