我正在尝试为提交个人资料图片功能制作一个表单,我想将图像的大小限制为 150 x 150,在我进入服务器端之前,我想先在客户端验证它。
虽然我不确定我做错了什么,这对我来说很有意义,但它不会检测到图像宽度。这是我的代码
$(function(){
var fileInput = $('.upload-file');
var maxSize = fileInput.data('max-size');
$('.register').submit(function(e){
if(fileInput.get(0).files.length){
var fileSize = fileInput.get(0).files[0].size; // in bytes
var ext = $('.upload-file').val().split('.').pop().toLowerCase();
var theimgWidth = fileInput.get(0).files[0].width;
var theimgHeight = $('.upload-file').height();
if(fileSize>maxSize){
alert('File size is bigger than 100kb');
return false;
}else if($.inArray(ext, ['gif','png','jpg','jpeg']) == -1){
alert('invalid extension!');
return false;
}else if(theimgWidth != '150'){
alert(theimgWidth);
return false;
}else if(imgHeight != '150'){
alert('invalid dimension!');
return false;
}
}else{
alert('choose file, please');
return false;
}
});
我放 alert(theimgWidth) 的原因是检查宽度是否被检测到,它没有被检测到。