js在上传图片前判断大小
这个可以用javascript实现,效果还可以,主要是因为javascript里居然有Image对象,可以取得其属性

<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" //允许上传的文件类型 ŀ为无限制 每个扩展名后边要加一个"|" 小写字母表示
//var AllowExt=0
var AllowImgFileSize=70;  //允许上传图片文件的大小 0为无限制  单位:KB
var AllowImgWidth=500;   //允许上传的图片的宽度 ŀ为无限制 单位:px(像素)
var AllowImgHeight=500;   //允许上传的图片的高度 ŀ为无限制 单位: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.οnerrοr=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;
    document.getElementById("preview").innerHTML=msg;
    HasChecked=false;
  }
  else
  {
    document.all.UploadButton.disabled=false;
    if(IsImg)

document.getElementById("preview").innerHTML="<img src='"+ImgObj.src+"' width='60' height='60'>"
    else

// document.getElementById("preview").innerHTML="非图片文件";
     document.getElementById("preview").innerHTML=msg;
    HasChecked=true;
  }
}

function CheckExt(obj)
{
  ErrMsg="";
  FileMsg="";
  FileObj=obj;
  IsImg=false;
  HasChecked=false;

document.getElementById("preview").innerHTML="预览区";
  if(obj.value=="")return false;
  
   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);
  }
 
}

</script>
<form enctype="multipart/form-data" method="POST" οnsubmit="return HasChecked;">
<fieldset style="width: 372; height: 60;padding:2px;">

<input type="file" id="file1" οnchange="CheckExt(this)" style="width:180px;">
 <input type="submit" id="UploadButton" value="开始上传" disabled><br>
<div id="preview" style="border:1 solid #808080;background:#E0E0E0;width100%;height:20px;color:#606060;padding:5px;" >

</div>
</fieldset>

posted on 2008-07-02 21:03 jackyrong的世界 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/jackyrong/archive/2008/07/02/1234285.html

js在上传图片前判断大小相关推荐

  1. 基于asp.net + easyui框架,js实现上传图片之前判断图片格式,同时实现预览,兼容各种浏览器+下载...

    2019独角兽企业重金招聘Python工程师标准>>> 最近在做图片上传的一个前台页面,上传图片功能虽然很简单,但是需要我们学习的地方很多.在上传图片之前验证图片的格式,并同时实现预 ...

  2. js浏览上传图片,判断图片格式

    效果演示; 上传文档提示你: html页面 <input type="file" class="file" name="activity_pic ...

  3. 上传图片并且判断图片大小、类型、宽高

    上传图片并且判断图片大小.类型.宽高 项目中需要上传图片并且判断大小.类型.宽高 changeCarousel(e){ //判断文件大小 var file = e.target.files[0]var ...

  4. 【一雪前耻!】两种方法判断大小端模式

    废话不多说,直接上代码. 法一:指针法 #include <stdio.h>int main(){int a = 1;char p = *((char *) &a); ///< ...

  5. php上传图片大小判断,jQuery实现判断上传图片类型和大小的方法示例

    本文实例讲述了jQuery实现判断上传图片类型和大小的方法.分享给大家供大家参考,具体如下: 这里使用jQuery判断上传图片的类型和大小: 图片格式为: 图片大小为: $(function(){ v ...

  6. 上传图片前限制图片比例大小格式

    上传图片前限制图片比例&大小&格式 一下代码适用于element-ui的upload: 使用上传图片之前的before-upload钩子函数,举个例子:限制图片尺寸大小为200px*2 ...

  7. jquery实现上传图片及图片大小验证、图片预览效果代码

    jquery实现上传图片及图片大小验证.图片预览效果代码 jquery实现上传图片及图片大小验证.图片预览效果代码 上传图片验证 */ function submit_upload_picture() ...

  8. [js] 写一个方法判断数组内元素是否全部相同

    [js] 写一个方法判断数组内元素是否全部相同 const isSameArray = function (array) {if (Array.isArray(array)) {return new ...

  9. JS比较两个日期大小

    本文介绍下,在javascript代码中,比较两个日期大小的方法,有需要的朋友参考下. 转自:http://www.jbxue.com/article/11231.html 1,比较日期大小的js代码 ...

最新文章

  1. 教你如何解决Python模块导包没有找到的问题
  2. java虚拟机06-内存分区/新生代、老年代
  3. 如何关联php5与apche,PHP5在Apache下的两种模式的安装_php
  4. 使用kibana可视化报表实时监控你的应用程序,从日志中找出问题,解决问题
  5. cocos2d-x游戏引擎核心(3.x)----事件分发机制之事件从(android,ios,desktop)系统传到cocos2dx的过程浅析...
  6. c语言实现作业调度先来先服务和短进程优先,先来先服务和高响应比优先调度算法C语言实现...
  7. 计算机辅助设计技术基础教程,《计算机辅助设计技术基础》课程教案.doc
  8. android反编译修改教程,Android逆向反编译代码注入
  9. 【OpenGL】各向异性过滤案例
  10. 算法面试中:时间复杂度和空间复杂度是什么?
  11. 这是50年前的一本关于30年前软件开发经验的书——《人月神话》读书笔记
  12. LOL IXTAL CUP 第一日 冠军杯赛 407的夺冠之路
  13. unity 鼠标拖动UI 滚轮缩放大小
  14. 路由器老掉线的原因之一
  15. 屈原与司马迁的对话--理想主义与辩证法
  16. Ubuntu 安装企业版微信
  17. bp神经网络需要多少样本,bp神经网络训练时间
  18. 解决办法fonts/fontawesome-webfont.woff2 404
  19. STM32从零开始(四)详解GPIO库函数
  20. 天呐!疯狂java讲义pdf第五版

热门文章

  1. MVC 3 登录、注销
  2. OpenCV作图像处理和识别方面的编程时常用的基础语句积累
  3. 大学生学习c语言方法,针对在校大学生的C语言入门学习——函数
  4. 中运用_舞蹈中,如何正确运用呼吸?
  5. leetcode算法题--0~n-1中缺失的数字
  6. Codeforces Round #539 (Div. 1)
  7. Iconfont使用手册
  8. sonar做代码检测时如何忽略一些代码文件
  9. 端产品多版本共存服务器端兼容的问题
  10. mycncart 1.4.0.0 新版本发布