画像のサイズを 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) を入れた理由は、幅がまったく検出されているかどうかを確認するためでしたが、検出されませんでした。