<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>
分享到:
相关推荐
在IT领域,特别是前端开发中,JavaScript(JS)被广泛应用于网页交互与数据验证,其中对上传图片的大小和格式进行验证是常见的需求之一。本文将深入解析如何使用JavaScript进行图片上传前的验证,包括检查图片格式、...
这个最主要就是我们用来上传图片的时候,可以验证合法性,代码在我的博客。
在用户上传图片之前,验证图片格式以及提供预览功能是非常重要的步骤,这不仅可以确保上传的图片符合预期的格式要求,还可以为用户提供更好的交互体验。本文将详细讲解如何使用JavaScript来实现这个功能。 首先,...
标题中提到的“js验证上传图片的方法”涉及了JavaScript语言在Web开发中实现上传图片前的验证功能。这一技术广泛用于确保用户上传的文件符合网站的特定要求,比如文件类型、大小以及图片的尺寸等。 在描述中提到,...
检查上传图片大小 .img {width:136px;height:102px;} .imgError{border:3px solid red;} var MAXSIZE = 100 * 1024; // 图片最大大小限制为100KB var ERROR_IMGSIZE = "图片大小不能超过 100K"; var ...
ExtJS 验证上传文件类型 ExtJS 中实现文件上传功能是非常方便的,但对于新手来说,控制文件上传类型是一个难题。例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出...
在PHP中,上传图片并进行验证是Web开发中常见的需求,主要是为了确保用户上传的文件确实是图片,并且安全无害。下面将详细讲解标题和描述中提到的三种验证方法:后缀名验证、头信息验证以及二进制编码验证。 1. ...
在IT行业中,构建一个带有上传功能的表单验证页面是一项常见的任务,这通常涉及到前端开发和后端处理。本项目名为“上传文件验证表单”,它利用了Bootstrap框架进行页面布局,并采用了Webuploader插件来处理文件上传...
在本项目中,"Jquery 表单验证+本地图片上传-切割-预览"是一个综合性的前端开发实例,它涵盖了几个重要的JavaScript库和技术,包括jQuery、表单验证、图片上传、图片切割以及预览功能。以下是这些知识点的详细解释:...
在PHP中,图片上传是常见的功能之一,但为了确保网站的安全性和用户体验,我们需要对上传的图片进行适当的过滤和验证。本文将深入探讨如何编写一个安全的PHP图片上传脚本,包括限制图片类型、图片大小以及处理上传...
- 如果需要记录上传图片的信息,可以将文件名和相关信息存储到数据库中。 6. **错误处理**: - 设置适当的错误处理机制,向用户显示友好的错误信息。 7. **用户体验**: - 显示上传进度,提高用户体验。 - ...
总之,ASP图片上传组件通过提供批量上传、文件验证、安全处理等一系列功能,使得在ASP应用中实现图片上传变得简单高效。开发者可以根据项目需求选择合适的控件或插件,并进行相应的定制开发,以满足特定的业务场景。
### 通过客户端验证上传图片文件大小的ASP:知识点解析 #### 一、ASP与客户端验证的概念 1. **ASP(Active Server Pages)**:是一种服务器端脚本环境,用于创建和运行动态、交互式 Web 应用程序。在 ASP 中,可以...
在IT行业中,表单验证和图片上传是网页开发中常见的功能需求,特别是在处理企业开户资质这类需要用户提交证明材料的场景。本实例聚焦于使用jQuery实现这一功能,以提高用户体验和数据安全性。以下是对该"jquery企业...
### Vue + Element UI 实现表单和图片上传及验证功能的知识点 #### 1. Vue.js和Element UI结合使用 Vue.js是一个灵活且高性能的JavaScript框架,允许开发者以数据驱动和组件化的模式构建复杂的单页面应用(SPA)。...
为了提供良好的用户体验和系统安全性,开发者需要在用户上传图片前进行格式验证,确保图片符合规定的格式,并提供预览功能,让用户在提交前能查看上传效果。本文将详细讲解如何使用JavaScript(JS)在客户端实现这一...
标题中的“javascript 客户端验证上传图片的大小(兼容IE和火狐)”涉及到的知识点是使用JavaScript在用户端(客户端)进行图片文件的上传前验证,主要目的是确保图片大小符合服务器接受的限制,同时该方法需要兼容...