我正在使用jQuery 1.7.1。
在浏览器窗口中加载图像后,我想检索其总字节大小。是否有对象名称/值?
答案 0 :(得分:2)
**这里是用于获取图像大小和类型并使用验证的jQuery代码**您可以在jQuery文件中的函数内使用此代码
if (window.File && window.FileReader && window.FileList && window.Blob)
{
var pic_size = $('#profile_pic')[0].files[0].size;//get file size
var pic_type = $('#profile_pic')[0].files[0].type;
var extension = pic_type.split('/').pop().toUpperCase();
if (extension!="PNG" && extension!="JPG" && extension!="GIF" && extension!="JPEG" || pic_size>=2048000)
{
alert ("Please Select PNG,JPG,GIF,JPEG Image Only and File Size not Greater than 2MB");
$( "#profile_pic" ).focus()
return false;
}
}
答案 1 :(得分:1)
不,你无法使用jQuery或纯JavaScript获取图像大小。唯一的方法是使用ajax从服务器端获取它。
您可以将图片网址发送到服务或服务器端页面,让页面或服务返回图片大小。
答案 2 :(得分:0)
我不认为这是可能的。您可能需要一种服务器端语言。
答案 3 :(得分:0)
尝试这个有javascript代码
$("#file_id")[0].files[0].size
答案 4 :(得分:0)
您可以通过以下方式获取文件大小
$("#selector")[0].files[0].size
而且您也可以通过以下方式获取文件格式
$("#selector")[0].files[0].type
此外,如果您想要验证,例如文件大小不超过2 MB,则可以尝试
var mS_totalBytes = this.files[0].size;
var mS_size = Math.floor(mS_totalBytes/1024000); // its on MB
根据您的要求使用if else else
var mS_totalBytes = this.files[0].size;
var _size = Math.floor(mS_totalBytes/1024000); // in MB
//alert(mS_size);
if(mS_size >= 1){
jQuery(".ExportAndroidAsset").prop('disabled', true);
alert("MAximum File Size is 1MB");
jQuery(".pxel_Bar").css("width","1%");
jQuery(".pxel_Progress").hide();
jQuery(".tab-pane .output label").show();
jQuery('input[name=imagefile]').val('');
}
else{
jQuery(".ExportAndroidAsset").prop('disabled', false);
jQuery(".pxel_Progress").show();
jQuery(".tab-pane .output label").hide();
}