我正在使用jQuery 1.7.1。
图片加载到浏览器窗口后,我想获取它的总字节数。是否有相应的对象名称/值?
我正在使用jQuery 1.7.1。
图片加载到浏览器窗口后,我想获取它的总字节数。是否有相应的对象名称/值?
不,你无法使用jQuery或纯JavaScript获取图像大小。唯一的方法是使用ajax从服务器端获取它。
您可以获取图像URL并将其发送到服务或服务器端页面,让页面或服务返回图像大小。
这里是用于获取图片大小和类型的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;
}
}
$("#file_id")[0].files[0].size
我认为这是不可能的。你可能需要一个服务器端语言。
您可以通过以下方式获取文件大小
$("#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条件,如下所示
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();
}