【前言】
在项目中经常用到input标签来上传文件,而这些文件通常是图片文件。图片有很多格式我们只需要其中的几种,就需要对用户上传的文件进行验证,在HTML5中有一个新的属性:accept文件类型限制。但是通常我们会用javascript或jQuery编写方法进行验证图片的大小限制、类型判断、像素判断。
【主体】
<input type="file" name="files" id="file" onchange="verificationPicFile(this)">
//图片类型验证 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; } }
//图片大小验证 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; } }
.
相关推荐
<title>File Upload Example</title> </head> <body> <form name="formen"> <!-- 隐藏的 input type="file" --> <input type="file" name="picpath" id="picpath" style="display:none" onChange="document....
在网页设计中,`<input type="file">` 是HTML元素的一个重要部分,它用于创建一个文件上传控件。默认情况下,这个控件的文本提示和按钮是根据用户的操作系统语言来显示的,例如,在中文环境下会显示“浏览”或“选择...
<input name="uid" type="text" value="" maxlength="20"/> <input name="pwd" type="password" value="" maxlength="10"/> <input name="gender" type="radio" value="f"/>nan <input name="gender" ...
注意:input[type=file] 标签中的属性accept=application/msword,application/pdf 在pc上正常,但是在手机ios和android上这个文件格式限制会被忽略,所以需要在js中增加格式的判断,以及对应显示样式的设置.(我也是刚...
然而,在实际使用中,我们可能会遇到一些问题,比如在WebView中使用`<input type="file">`标签时,用户无法选择本地文件。这个现象主要是由于Android的安全机制和权限控制导致的。本文将详细讲解如何解决这个问题。 ...
<li class=file><a>下级</a></li> <li> <label for=subsubfolder2>下级</label> <input id=subsubfolder2 type=checkbox /> <ol> <li class=file><a>无限级</a></li> <li class=file><a>无限级</a></li> <...
HTML5 之前的 input type=file 元素只能一次上传一张图片,无法满足一次上传多图的交互需求。因此,许多场景下,使用 swfupload.js 来代替原生的 file input 表单元素。 二、HTML5 中的 input type=file 文件选择...
<!DOCTYPE ... <input type="file" name="file1" /><br /> <input type="submit" value="文件上传" /> </form> </body> </html>
在网页上实现加减乘除功能。... <option value="/">/</option> </select> <input type="number" id="n2"> <input type="button" onclick="aa()" value="="> <input type="text" id="res"> </form>
<input type="text" name="type"> </td> </tr> <tr> <th> 品牌: </th> <td> <input type="text" name="brand"> </td> </tr> <tr> ...
name="userName" id="userName"></td> </tr> <tr> <td>密码:<input type="password" name="password" id="password"></td> </tr> <tr> <td><input type="submit" value="登录" style="background-color:pink"> ...
<input type="text" name="name"><font color="ff0000">*</font></td> </tr> <tr bgcolor="#FFFFFF"> <td align="right">城市:</td> <td height="25"> <input type="text" name="city"></td> </tr> <tr ...
<input type="checkbox" name="c"/>1<input type="checkbox" name="c"/>2<input type="checkbox" name="c"/>3<br/> <input type="file" /><br/> <input type="hidden" /><div style="display:none">test</div><br...
<html> <head> <title>My webpage</title> ... <center> Password:<input type="password"></center><br><br> <center><input type="submit" value="Done"></center> </form> </body> </html>
本文将深入探讨如何使用 `input type="file"` 激活手机的照相机功能以及选择图片上传。 首先,`<input type="file">` 是HTML中的一个表单元素,它的主要作用是让用户选择本地文件。在默认情况下,点击这个元素会...
<td><span id="hour">00</span><sub>小时</sub></td> <td><span id="mi">00</span><sub>分</sub></td> <td><span id="s">00</span><sub>秒</sub></td> </tr> </table> <input type="button" value="开始(s)...
<input type="text" name="ReceiverCityZip" /> </label> <hr> <p>shupping category</p> <p> <label> <input type="radio" name="destination" value="domestic-stamp.jpg" /> Domestic</label> </p> <p>...
<td><input type="text" name="id"></td> </tr> <tr> <td>姓名</td> <td><input type="text" name="name"></td> </tr> <tr> <td>性别</td> <td><input type="text" name="sex"></td> </tr> <tr> <td>...
<input name="xm" type="text" id="xm" /><br /><br /> 联系方式: <input name="lxfs" type="text" id="lxfs" /><br /><br /> 备 注: <input type="text" name="bz" /><br /><br /> <input type=...
<td><input type="text" name="username" /></td> </tr> <tr> <td>密码:</td> <td><input type="password" name="password" /></td> </tr> <tr> <td>角 色:</td> ...