<input type = file/>上传图片限制大小、类型判断、像素判断

<input type = file/>上传图片限制大小、类型判断、像素判断

在项目中经常用到input标签来上传文件,而这些文件通常是图片文件。图片有很多格式我们只需要其中的几种,就需要对用户上传的文件进行验证,在HTML5中有一个新的属性:accept文件类型限制。但是通常我们会用javascript或jQuery编写方法进行验证图片的大小限制、类型判断、像素判断

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            //图片类型验证
            function verificationPicFile(file) {
                var fileTypes = [".jpg", ".png"];
                var filePath = file.value;
                //当括号里面的值为0、空字符、false 、null 、undefined的时候就相当于false
                if(filePath){
                    var isNext = false;
                    var fileEnd = filePath.substring(filePath.indexOf("."));
                    for (var i = 0; i < fileTypes.length; i++) {
                        if (fileTypes[i] == fileEnd) {
                            isNext = true;
                            break;
                        }
                    }
                    if (!isNext){
                        alert(‘不接受此文件类型‘);
                        file.value = "";
                        return false;
                    }
                }else {
                    return false;
                }
                 var fileSize = 0;
                var fileMaxSize = 1024;//1M
                var filePath = file.value;
                if(filePath){
                    fileSize =file.files[0].size;
                    var size = fileSize / 1024;
                    if (size > fileMaxSize) {
                        alert("文件大小不能大于1M!");
                        file.value = "";
                        return false;
                    }else if (size <= 0) {
                        alert("文件大小不能为0M!");
                        file.value = "";
                        return false;
                    }
                }else{
                    return false;
                }
            }
//            //图片大小验证
//            function verificationPicFile(file) {
//                var fileSize = 0;
//                var fileMaxSize = 1024;//1M
//                var filePath = file.value;
//                if(filePath){
//                    fileSize =file.files[0].size;
//                    var size = fileSize / 1024;
//                    if (size > fileMaxSize) {
//                        alert("文件大小不能大于1M!");
//                        file.value = "";
//                        return false;
//                    }else if (size <= 0) {
//                        alert("文件大小不能为0M!");
//                        file.value = "";
//                        return false;
//                    }
//                }else{
//                    return false;
//                }
//            }
//图片尺寸验证
//function verificationPicFile(file) {
//  var filePath = file.value;
//  if(filePath){
//      //读取图片数据
//      var filePic = file.files[0];
//      var reader = new FileReader();
//      reader.onload = function (e) {
//          var data = e.target.result;
//          //加载图片获取图片真实宽度和高度
//          var image = new Image();
//          image.onload=function(){
//              var width = image.width;
//              var height = image.height;
//              if (width == 720 | height == 1280){
//                  alert("文件尺寸符合!");
//              }else {
//                  alert("文件尺寸应为:720*1280!");
//                  file.value = "";
//                  return false;
//              }
//          };
//          image.src= data;
//      };
//      reader.readAsDataURL(filePic);
//  }else{
//      return false;
//  }
//}
        </script>
    </head>
    <body>
        <input type="file" name="files" id="file" onchange="verificationPicFile(this)">
    </body>
</html>

原文地址:https://www.cnblogs.com/llhWeb/p/9771072.html

时间: 2024-10-08 17:02:09

<input type = file/>上传图片限制大小、类型判断、像素判断的相关文章

前端实现input[type=&#39;file&#39;]上传图片预览效果

众所周知JavaScript在设计上处于安全角度考虑,是不允许读写本地文件的(原因请自行百度): 但是在实际项目应用中,经常会使用到上传图片,并且可以让用户直接预览图片.对于此种做法有两种方法可以实现:一是前后台交互,后台将图片地址返回前端: 二是,我今天写的内容,使用FileReader对象--允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容:此种方法可以优化图片加载速度,减少方法一占用带宽的问题: 但是,此种方法兼容性存在问题,主要是IE浏览器(ie10以上没问题

处理同一页面中借助form+input[type=&quot;file&quot;]上传图片出现的input无法清空问题

今天下午帮同事改了这样一个bug: 在一个页面中对多张图进行上传时,由于input的value无法情况的问题,导致每次选完图片后,都跟第一张图片一样,无法出现如下效果: 百度了下思路:先将input取到,然后放到一个临时form里面清空,最后删掉form. 代码如下: 首先是生成图片选择和显示部分的绑定代码: var img_tmp = '<tr><td><input type="text" name="code" value=&quo

JavaScript input type=file 获取文件大小及类型限制

html 代码: <input name="txtName" type="file" id="pic" onchange="loadImage(this)"/> JavaScript代码: function loadImage(img) {             var filePath = img.value;             var fileExt = filePath.substring(fileP

&lt;input type=&quot;file&quot;&gt; 与label搭配会产生多大的影响

前面我写过关于<input type="file">上传图片,消除原有样式,获取图片的文章. 今天更新的是我最近发现,点击上传按钮的那一整行都可以调出本地上传图片的窗口. 之前也是发现多一个INPUT 的影响区域,用下面的方法清除了. "用过两次都发现页面自动生成另一个大的<input>,点击同样会弹出文件选择框,可以用下面的代码清除这个多的. input[type="file" i]::-webkit-file-upload-bu

input type=&#39;file&#39; 上传文件 判断图片的大小是否合格与witdh 和 height 是否合格

function CheckFiles(obj) { var array = new Array('gif', 'jpeg', 'png', 'jpg'); //可以上传的文件类型 if (obj.value == '') { alert("让选择要上传的图片!"); return false; } else { var fileContentType = obj.value.match(/^(.*)(\.)(.{1,8})$/)[3]; //这个文件类型正则很有用:) var isE

关于PHP HTML &lt;input type=&quot;file&quot; name=&quot;img&quot;/&gt;上传图片,图片大小,宽高,后缀名。

在我们的系统中,不免要上传图片,视频等文件,在上传中,需要做的一些判断,文件大小等方面. 注意: 在php.ini 中的post_max_size,upload_max_filesize默认为2M,在上传视频的时候,需要修改下,可以自行设置. 另外如果启用了内存限制,那么该值应当小于memory_limit选项的值. 在上传视频的时候,可以会需要花费些时间,当超过一定的时间,会报脚本执行超过30秒的错误,这是因为在php.ini配置文件中max_execution_time配置选项在作怪,其表示

有关图片上传的相关知识input type=file,HTML5的 input:file上传类型控制

遇到项目,要求做一个影像系统,对于前端开发需要了解file的相关属性,以及如何开发.工欲善其事,必先利器嘛.度娘一阵子搜索,找资料.这年头,需要的是你解决问题的能力啊! 参考应用:https://www.cnblogs.com/sunliyuan/p/5737928.html http://blog.okbase.net/jquery2000/archive/1296.html(解释的也很清楚) http://blog.csdn.net/qingyjl/article/details/52003

js 获取input type=&quot;file&quot; 选择的文件大小、文件名称、上次修改时间、类型等信息

<html xmlns="http://www.w3.org/1999/xhtml">   <head runat="server">   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <title></title>   </head>   <body&

&lt;input type=&quot;file&quot; /&gt;浏览时只显示指定文件类型

<input type="file" />浏览时只显示指定文件类型 <input type="file" accept="application/msword" ><br><br>accept属性列表<br> 1.accept="application/msexcel"2.accept="application/msword"3.accept=&q