`

验证上传图片

 
阅读更多
<script language=javascript>
	var ImgObj = new Image(); //建立一个图像对象 
	var AllImgExt = ".jpg|.jpeg|.gif|.bmp|.png|"//全部图片格式类型 
	var FileObj, ImgFileSize, ImgWidth, ImgHeight, FileExt, ErrMsg, FileMsg, HasCheked, IsImg//全局变量 图片相关属性 
	//以下为限制变量 
	var AllowExt = ".jpg|.gif|.doc|.txt|" //允许上传的文件类型 ?为无限制 每个扩展名后边要加一个"|" 小写字母表示 
	//var AllowExt=0 
	var AllowImgFileSize = 1024; //允许上传图片文件的大小 0为无限制 单位:KB 
	var AllowImgWidth = 2000; //允许上传的图片的宽度 ?为无限制 单位:px(像素) 
	var AllowImgHeight = 2000; //允许上传的图片的高度 ?为无限制 单位:px(像素) 
	HasChecked = false;
	function CheckProperty(obj) //检测图像属性 
	{
		FileObj = obj;
		if (ErrMsg != "") //检测是否为正确的图像文件 返回出错信息并重置 
		{
			ShowMsg(ErrMsg, false);
			return false; //返回 
		}
		if (ImgObj.readyState != "complete") //如果图像是未加载完成进行循环检测 
		{
			setTimeout("CheckProperty(FileObj)", 500);
			return false;
		}
		ImgFileSize = Math.round(ImgObj.fileSize / 1024 * 100) / 100;//取得图片文件的大小 
		ImgWidth = ImgObj.width //取得图片的宽度 
		ImgHeight = ImgObj.height; //取得图片的高度 
		FileMsg = "\n图片大小:" + ImgWidth + "*" + ImgHeight + "px";
		FileMsg = FileMsg + "\n图片文件大小:" + ImgFileSize + "Kb";
		FileMsg = FileMsg + "\n图片文件扩展名:" + FileExt;
		if (AllowImgWidth != 0 && AllowImgWidth < ImgWidth)
			ErrMsg = ErrMsg + "\n图片宽度超过限制。请上传宽度小于" + AllowImgWidth
					+ "px的文件,当前图片宽度为" + ImgWidth + "px";
		if (AllowImgHeight != 0 && AllowImgHeight < ImgHeight)
			ErrMsg = ErrMsg + "\n图片高度超过限制。请上传高度小于" + AllowImgHeight
					+ "px的文件,当前图片高度为" + ImgHeight + "px";
		if (AllowImgFileSize != 0 && AllowImgFileSize < ImgFileSize)
			ErrMsg = ErrMsg + "\n图片文件大小超过限制。请上传小于" + AllowImgFileSize
					+ "KB的文件,当前文件大小为" + ImgFileSize + "KB";
		if (ErrMsg != "")
			ShowMsg(ErrMsg, false);
		else
			ShowMsg(FileMsg, true);
	}
	ImgObj.onerror = function() {
		ErrMsg = '\n图片格式不正确或者图片已损坏!'
	}
	function ShowMsg(msg, tf) //显示提示信息 tf=true 显示文件信息 tf=false 显示错误信息 msg-信息内容 
	{
		msg = msg.replace("\n", "<li>");
		msg = msg.replace(/\n/gi, "<li>");
		if (!tf) {
			document.all.UploadButton.disabled = true;
			FileObj.outerHTML = FileObj.outerHTML;
			MsgList.innerHTML = msg;
			HasChecked = false;
		} else {
			document.all.UploadButton.disabled = false;
			if (IsImg)
				PreviewImg.innerHTML = "<img src='"+ImgObj.src+"' width='60' height='60'>"
			else
				PreviewImg.innerHTML = "非图片文件";
			MsgList.innerHTML = msg;
			HasChecked = true;
		}
	}
	function CheckExt(obj) {
		ErrMsg = "";
		FileMsg = "";
		FileObj = obj;
		IsImg = false;
		HasChecked = false;
		PreviewImg.innerHTML = "预览区";
		if (obj.value == "")
			return false;
		MsgList.innerHTML = "文件信息处理中...";
		document.all.UploadButton.disabled = true;
		FileExt = obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();
		if (AllowExt != 0 && AllowExt.indexOf(FileExt + "|") == -1) //判断文件类型是否允许上传 
		{
			ErrMsg = "\n该文件类型不允许上传。请上传 " + AllowExt + " 类型的文件,当前文件类型为"
					+ FileExt;
			ShowMsg(ErrMsg, false);
			return false;
		}
		if (AllImgExt.indexOf(FileExt + "|") != -1) //如果图片文件,则进行图片信息处理 
		{
			IsImg = true;
			ImgObj.src = obj.value;
			CheckProperty(obj);
			return false;
		} else {
			FileMsg = "\n文件扩展名:" + FileExt;
			ShowMsg(FileMsg, true);
		}
	}
	function SwitchUpType(tf) {
		if (tf)
			str = '<input type="file" name="file1" onchange="CheckExt(this)" style="width:180px;">'
		else
			str = '<input type="text" name="file1" onblur="CheckExt(this)" style="width:180px;">'
		document.all.file1.outerHTML = str;
		document.all.UploadButton.disabled = true;
		MsgList.innerHTML = "";
	}
</script>

<!DOCTYPE script PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<form enctype="multipart/form-data" method="POST" onsubmit="return HasChecked;">
	<fieldset style="width: 372; height: 60; padding: 2px;">
		<legend>
			<font color="#FF0000">图片来源</font>
		</legend>
		<input type="radio" name="radio1" checked
			onclick="SwitchUpType(true);">本地 <input type="radio"
			name="radio1" onclick="SwitchUpType(false);">远程:<input
			type="file" name="file1" onchange="CheckExt(this)"
			style="width: 180px;"> <input type="submit" id="UploadButton"
			value="开始上传" disabled>
		<div
			style="border: 1 solid #808080; background: #E0E0E0; width100 %; height: 20px; color: #606060; padding: 5px;">
			<table border="0">
				<tr>
					<td width="60" id="PreviewImg">预览区</td>
					<td id="MsgList" valign="top"></td>
				</tr>
			</table>
		</div>
	</fieldset>
</form>
</html>

分享到:
评论

相关推荐

    js验证上传图片 大小 格式

    在IT领域,特别是前端开发中,JavaScript(JS)被广泛应用于网页交互与数据验证,其中对上传图片的大小和格式进行验证是常见的需求之一。本文将深入解析如何使用JavaScript进行图片上传前的验证,包括检查图片格式、...

    验证上传图片合法性111

    这个最主要就是我们用来上传图片的时候,可以验证合法性,代码在我的博客。

    上传图片之前验证图片格式,同时实现预览

    在用户上传图片之前,验证图片格式以及提供预览功能是非常重要的步骤,这不仅可以确保上传的图片符合预期的格式要求,还可以为用户提供更好的交互体验。本文将详细讲解如何使用JavaScript来实现这个功能。 首先,...

    js验证上传图片的方法

    标题中提到的“js验证上传图片的方法”涉及了JavaScript语言在Web开发中实现上传图片前的验证功能。这一技术广泛用于确保用户上传的文件符合网站的特定要求,比如文件类型、大小以及图片的尺寸等。 在描述中提到,...

    Javascript验证上传图片大小[前台处理]_.docx

    检查上传图片大小 .img {width:136px;height:102px;} .imgError{border:3px solid red;} var MAXSIZE = 100 * 1024; // 图片最大大小限制为100KB var ERROR_IMGSIZE = "图片大小不能超过 100K"; var ...

    ExtJS验证上传文件类型

    ExtJS 验证上传文件类型 ExtJS 中实现文件上传功能是非常方便的,但对于新手来说,控制文件上传类型是一个难题。例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出...

    php关于上传图片的验证

    在PHP中,上传图片并进行验证是Web开发中常见的需求,主要是为了确保用户上传的文件确实是图片,并且安全无害。下面将详细讲解标题和描述中提到的三种验证方法:后缀名验证、头信息验证以及二进制编码验证。 1. ...

    上传文件验证表单

    在IT行业中,构建一个带有上传功能的表单验证页面是一项常见的任务,这通常涉及到前端开发和后端处理。本项目名为“上传文件验证表单”,它利用了Bootstrap框架进行页面布局,并采用了Webuploader插件来处理文件上传...

    Jquery 表单验证+本地图片上传-切割-预览

    在本项目中,"Jquery 表单验证+本地图片上传-切割-预览"是一个综合性的前端开发实例,它涵盖了几个重要的JavaScript库和技术,包括jQuery、表单验证、图片上传、图片切割以及预览功能。以下是这些知识点的详细解释:...

    php图片上传脚本(合格过滤与验证)

    在PHP中,图片上传是常见的功能之一,但为了确保网站的安全性和用户体验,我们需要对上传的图片进行适当的过滤和验证。本文将深入探讨如何编写一个安全的PHP图片上传脚本,包括限制图片类型、图片大小以及处理上传...

    vs2005 c#中实现图片上传及验证

    - 如果需要记录上传图片的信息,可以将文件名和相关信息存储到数据库中。 6. **错误处理**: - 设置适当的错误处理机制,向用户显示友好的错误信息。 7. **用户体验**: - 显示上传进度,提高用户体验。 - ...

    ASP图片上传组件 图片批量上传控件 图片上传插件

    总之,ASP图片上传组件通过提供批量上传、文件验证、安全处理等一系列功能,使得在ASP应用中实现图片上传变得简单高效。开发者可以根据项目需求选择合适的控件或插件,并进行相应的定制开发,以满足特定的业务场景。

    通过客户端验证上传图片文件大小的ASP

    ### 通过客户端验证上传图片文件大小的ASP:知识点解析 #### 一、ASP与客户端验证的概念 1. **ASP(Active Server Pages)**:是一种服务器端脚本环境,用于创建和运行动态、交互式 Web 应用程序。在 ASP 中,可以...

    jquery企业开户资质表单验证图片上传代码.zip

    在IT行业中,表单验证和图片上传是网页开发中常见的功能需求,特别是在处理企业开户资质这类需要用户提交证明材料的场景。本实例聚焦于使用jQuery实现这一功能,以提高用户体验和数据安全性。以下是对该"jquery企业...

    vue+elementUI实现表单和图片上传及验证功能示例

    ### Vue + Element UI 实现表单和图片上传及验证功能的知识点 #### 1. Vue.js和Element UI结合使用 Vue.js是一个灵活且高性能的JavaScript框架,允许开发者以数据驱动和组件化的模式构建复杂的单页面应用(SPA)。...

    上传图片前验证图片格式及实现预览

    为了提供良好的用户体验和系统安全性,开发者需要在用户上传图片前进行格式验证,确保图片符合规定的格式,并提供预览功能,让用户在提交前能查看上传效果。本文将详细讲解如何使用JavaScript(JS)在客户端实现这一...

    javascript 客户端验证上传图片的大小(兼容IE和火狐)

    标题中的“javascript 客户端验证上传图片的大小(兼容IE和火狐)”涉及到的知识点是使用JavaScript在用户端(客户端)进行图片文件的上传前验证,主要目的是确保图片大小符合服务器接受的限制,同时该方法需要兼容...

Global site tag (gtag.js) - Google Analytics