jQuery获取file控件中图片的宽高与大小_jquery

问题

如何判断input file表单里上传的图片的宽高和大小呢?

解决方案

这个时候图片还没真正上传,也不是在页面上展示,不能使用$(“#id”).width(),$(“#id”).height()这种方式。

在Stack Overflow找到一个方法获取input file图片文件的宽高:

var _URL = window.URL || window.webkitURL;
$("#file").change(function (e) {
  var file, img;
  if ((file = this.files[0])) {
    img = new Image();
    img.onload = function () {
      alert(this.width + " " + this.height);
    };
    img.src = _URL.createObjectURL(file);
  }
});

发现可以用,仅在火狐中测试了,其他浏览器兼容性未知,因为后台使用,所以暂且不管兼容性,拿来封装了一下。

我把这个函数完善了一下,获取input file图片的宽高和大小,如下:

//获取input图片宽高和大小
function getImageWidthAndHeight(id, callback) {
  var _URL = window.URL || window.webkitURL;
  $("#" + id).change(function (e) {
    var file, img;
    if ((file = this.files[0])) {
      img = new Image();
      img.onload = function () {
        callback && callback({"width": this.width, "height": this.height, "filesize": file.size});
      };
      img.src = _URL.createObjectURL(file);
    }
  });
}

这里使用了一个回调方法,回调方法的参数是这个json对象,包含宽度、高度和大小,在jQuery中这样调用

(function () {
  //省略其他代码
  getImageWidthAndHeight('image_file', function (obj) {
   if (obj.width != 843 || obj.height != 1038) {
    $.messager.alert('操作提示', '弹窗图片宽高必须是843*1038px');
   }
  });
})(jQuery)

好了,这样就OK了。以上就是jQuery获取intput file图片的宽高和大小的全部内容了,相信本文的内容会对大家平时使用jQuery和图片上传的时候很有帮助的。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery
, 判断图片大小
file大小限制
jquery清空file控件、jqueryfileupload控件、jquery 获得file控件、jquery file控件、jquery获取file全路径,以便于您获取更多的相关知识。

时间: 2024-12-03 07:42:58

jQuery获取file控件中图片的宽高与大小_jquery的相关文章

linearlayout-安卓代码设置控件边距,宽高

问题描述 安卓代码设置控件边距,宽高 LinearLayout personWeight = (LinearLayout) view.findViewById(R.id.ktv_person); LinearLayout featchWeight = (LinearLayout) view.findViewById(R.id.ktv_featch); 解决方案 获取布局控件所在的LayoutParams ,设置高宽,通过setMargins或者setPadding设置边距

asp.net 用户控件中图片及样式问题_实用技巧

比如,头尾用户控件.这时候控件里的图片,及css 样式就会出现问题.不同位置的文件引用同一个位置的用户控件,这时候用户控件的图片及css样式路径发生错乱. 1.如果用户控件中有服务器控件需要引用图片地址,比如ImageButton,这时候你只要按照用户控件的位置写好引用图片的链接地址就行,也就是服务器控件可以智能解析出它的确切位置 2.如果是插入图片,按照用户控件所在文件夹位置写出图片链接地址,是不行的.比如:图片文件是:/images/dian.gif . /index.aspx 和/memb

jQuery UI Dialog控件中的表单无法正常提交的解决方法_jquery

最近使用jQuery UI的Dialog控件时发现如果在此控件放置表单,则所有表单均无法正常提交,具体表现为: 1.提交按钮失效,点击后无任何反应. 2.即便是使用其它手段使页面产生提交,服务器端也无法取到Dialog中的表单数据. 研究了页面源码后发现,jQuery UI Dialog控件初始化时动态生成的HTML元素被添加到页面的尾部.form元素的后面,而原始的Dialog模板部分(其内包含表单元素)也被移到了 动态生成的HTML元素内.也就是说,原先在form内的表单在Dialog初始化

jquery获取input type=text中的值的各种方式(总结)_jquery

 实例如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JQuery获取文本框的值</title> <meta h

多列列表控件中图片尺寸处理的若干问题

一.自适应 当前终端设备种类繁多,即单以 iOS 设备论计,从 iPhone 3GS 到 iPhone 6 Plus 总的数量亦不少了.如果对图片的什么尺寸都不指定(默认),或者只确定一种尺寸(也就是写死了),那么可以想象,小的图片在屏幕小的手机显示刚刚好,不过在屏幕大的手机中就显得很小:如果把图片调大尺寸,虽然屏幕大的手机显示刚刚好,但屏幕小的手机就不能完全展示了.总之,这个问题就是,五花八门的屏幕尺寸怎么让图片好去适应? 解决的办法也比较简单,也就是:               采用百分比

无法获取File控件全路径

问题描述 对于<inputtype="file"name="path">,始终无法获取到他的全路径,例如,我上传的文件时:c:test.txt,那么我拿到的始终是test.txt.在网上找资料,说有可能是浏览器问题,但是我测试了几个浏览器都是同样的问题.而我同事跟我一样的写法,却可以拿到c:test.txt.请问这是为什么?难道是传说中的人品问题?在线等候大侠的回复. 解决方案 解决方案二:恩,我也遇到过相同的问题,确实有时候拿到的路径不完整,解决方案三

report控件中图片URL的问题

问题描述 REPORT中的IMAGE控件,我把它的DATASOURCE设为了EXTERNAL,然后也指定了它的VALUE的值=Fields!StuPic.Value,并且也写了reportViewer1.LocalReport.EnableExternalImages=true;但是为什么运行起来,IMAGE控件那也不没有红叉也不出图片呢,只是一片空白.有人说是图片URL写得不对,比如显示D盘的123.jpg图片的话,请问应该在数据库StuPic属性中如何写URL?D:/123.jpg?还是D:

js中获取file控件的完整路径实例

document.getElementById(""my-file"").files办法用于获取到用户所选择的文件的凑集,一般景象下都是选择单一文件(貌似FireFox如许做是支撑多文件选择的,不过没有试过,读者可以本身去测验测验),item数组可以获得此中的某一个文件,然后我们就可以应用 nsIDOMFile所供给的属性和办法了.它包含2个属性和3个办法: fileName:用于获取到用户所选文件的名称,这和直接取value值所获得的成果一样. fileSize:

js如何获取file控件的完整路径具体实现代码_javascript技巧

今天做一个项目,需要隐藏input file然后获取它的值,但连jquery都无法获取它的值 复制代码 代码如下: <script type="text/javascript"> //FX获取文件路径方法 function readFileFirefox(fileBrowser) { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catc