【前言】
在项目中经常用到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; } }
.
相关推荐
表单应设置`enctype="multipart/form-data"`,并使用`<input type="file">`来让用户选择文件。提交表单后,数据会被发送到PHP脚本进行处理。 总结来说,"PHP上传类(生成缩略图)"涉及的关键知识点包括:PHP文件...
1. 文件输入元素:HTML5引入了`<input type="file">`元素,用于选取本地文件。通过设置`multiple`属性,可以支持用户选择多个文件进行上传。 2. jQuery选择器:jQuery提供了强大的选择器,如`$("#id")`用于选取ID为...
Bitmap* bitmap = Bitmap::FromFile("input.jpg"); Graphics graphics(hdc); // hdc 是设备上下文 // 获取位图的数据指针 BitmapData bitmapData; bitmap->LockBits(&rect, ImageLockModeRead, PixelFormat24bppRGB...
SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统<input type="file" />标签的文件上传模式。 [编辑本段]SWFUpload...
18. 文本域类型:HTML中的`<input>`标签的`type`属性用于定义文本域,常见的有文本输入(text)、密码输入(password)、单选按钮(radio)、复选框(checkbox)等,共4种基本类型。 19. CSS Box Model:在CSS中,...
函数接收一个参数,即文件输入控件(`<input type="file">`)的引用。然后,函数会读取该文件的扩展名,并与几种常见的图片格式进行比较,确保文件是用户所期望上传的图片类型。这包括JPEG、GIF、PNG、BMP等格式。...