我使用下面的代码:
/*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.
据我所知,文件大小以字节为单位,但我得到的值不正确.
解决方法 尝试这个解决方案这是150kb为你的只需将它改为200kbwindow.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离子所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)