2017-09-06 6 views
4

マイナスイオンアプリでCamera Pluginを使用して画像を取得しました。私はユーザーが選択している画像のサイズを制限したい、200kbと言うことができます。私はCamera as Fileプラグインを追加しました。アップロードされた画像サイズを制限するカメラプラグインコードワイオニクス

私はコードの下に使用している

/*Function to get image from gallery*/ 
$scope.getImageFromGallery = function(){ 
    var options = { 
     quality: 100, 
     destinationType: Camera.DestinationType.FILE_URI, 
     sourceType: Camera.PictureSourceType.SAVEDPHOTOALBUM, 
     popoverOptions: CameraPopoverOptions, 
     saveToPhotoAlbum: false, 
     targetWidth: 450, 
     targetHeight: 450, 
     encodingType: Camera.EncodingType.JPEG, 
    }; 

    navigator.camera.getPicture(gallerySuccess, galleryError, options); 

    function gallerySuccess(imageURI){ 
     getSize(imageURI);   
    } 


    function getSize(fileUri) { 
     window.resolveLocalFileSystemURL(fileUri, function(fileEntry){ 

      fileEntry.getMetadata(function(metadata){ 
       console.log("size is "+metadata.size); 
      }, resOnError); 

      fileEntry.file(function(file) { 

       var reader = new FileReader(); 
       reader.onloadend = function(evt) { 

        var imgData = evt.target.result; 
        var res = imgData.split(","); 
        $rootScope.imagebase64 = res[1]; 
        var image = document.getElementById('preview-image1'); 
        image.src = evt.target.result; 
        $('#preview-image').css('display','block'); 
        $('#preview-image').css('background-image', "url("+res[1]+")").show(); 
       }; 

       reader.readAsDataURL(file); 
      }, resOnError); 
     }, 
     resOnError); 
    } 

    function resOnError(error) { 
     console.log("error "+JSON.stringify(error)); 
    } 

    function galleryError(error) { 
    } 
} 

しかし、ここで私は2.5メガバイトの画像を選択していたときに、それはサイズ178908 を示していると私はサイズ8.9メガバイトの画像を選択していたときに、それがありますサイズ88412を表示しています。

私の知るところではあるが、ファイルサイズはバイトであるが、私が得ている値は正しくない。

答えて

0

このこのソリューションを試してみてくださいは、あなたがちょうど200キロバイト

window.resolveLocalFileSystemURI(newPath, function (fileEntry) { 
         fileEntry.file(function (fileObj) { 
          if (fileObj.size <= 153600) { 
           var reader = new FileReader(); 
           reader.onload = function() { 
            var dataURL = reader.result; 
            //your stuff..... 
           }; 
           reader.readAsDataURL(fileObj); 
          } 
          else { 
           // alert("Please upload image less then 150KB"); 
           alertPopup = $ionicPopup.alert({ 
            title: 'Upload image failed!', 
            template: 'Please upload image less then 150KB!' 
           }); 
          } 

          console.log("Size = " + fileObj.size); 
         }); 
        }); 
にそれを変更するために150キロバイトのためであります
関連する問題