Cordova   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了限制上传的图像大小相机插件cordova离子大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我在我的离子应用程序中使用Camera插件获取了图像.我想限制用户选择用户所选图像的大小,比方说200kb.我添加了Camera as File插件. 我使用下面的代码: /*Function to get image from gallery*/ $scope.getImageFromGallery = function(){ var options = { qualit
我在我的离子应用程序中使用Camera插件获取了图像.我想限制用户选择用户所选图像的大小,比方说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.5MB的图像时,它显示的是178908的大小
当我选择大小为8.9MB的图像时,显示的大小为88412.

据我所知,文件大小以字节为单位,但我得到的值不正确.

解决方法

尝试这个@L_489_16@案这是150kb为你的只需将它改为200kb

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);
                        });
                    });

大佬总结

以上是大佬教程为你收集整理的限制上传的图像大小相机插件cordova离子全部内容,希望文章能够帮你解决限制上传的图像大小相机插件cordova离子所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。