if (file) { var reader = new FileReader(); reader.onload = function(e) { var sourceid = $("input[name='rdsource']:checked").val(); if (sourceid == 20) { //實拍圖限定寬高為3000*2000 var data = e.target.result; //加載圖片獲取圖片真實寬度和高度 var image = new Image(); image.onload = function() { var width = image.width; var height = image.height; if (width == 3000 && height == 2000) { var fileSize = (file.size / 1024 / 1024).toFixed(2); html = html + '<tr id="' + i + '"><td><strong>' + file.name + '</strong></td>' + '<td>' + fileSize + 'MB</td><td><div id="uploadProgress_' + i + '" class="upload_progress" style="display:none;width:0px;height:15px;text-align:right;vertical-align:middle" ></div></td><td><a href="javascript:void(0);" class="upload_delete" title="刪除" data-index="' + i + '">刪除</a></td></tr>'; totalSize += (fileSize * 1); i++; funAppendImage(); } else { alert("圖片:" + file.name + ",尺寸不是3000*2000"); files.splice(jQuery.inArray(file, files), 1); funAppendImage(); } }; image.src = data; } else { var fileSize = (file.size / 1024 / 1024).toFixed(2); html = html + '<tr id="' + i + '"><td><strong>' + file.name + '</strong></td>' + '<td>' + fileSize + 'MB</td><td><div id="uploadProgress_' + i + '" class="upload_progress" style="display:none;width:0px;height:15px;text-align:right;vertical-align:middle" ></div></td><td><a href="javascript:void(0);" class="upload_delete" title="刪除" data-index="' + i + '">刪除</a></td></tr>'; totalSize += (fileSize * 1); i++; funAppendImage(); } //-------------- }; reader.readAsDataURL(file); }
file控件,在js中讀取圖片寬高,需要異步實例化圖片,然后讀取圖片的寬高