bwlang

萝卜辣椒

导航

jquery 读取file 图片文件的宽高

Posted on 2017-05-25 17:09  bwlang  阅读(3265)  评论(0编辑  收藏  举报
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中读取图片宽高,需要异步实例化图片,然后读取图片的宽高