js验证上传图片文件大小,类型等

本文介绍了一个前端文件上传组件的实现细节,包括如何设置允许上传的文件类型、大小及尺寸限制,并通过JavaScript进行实时验证,确保只有符合规定的文件才能被上传。

<script>

 UpLoadFileCheck=function()
 { 
   this.AllowExt=".jpg,.gif";//允许上传的文件类型 0为无限制 每个扩展名后边要加一个"," 小写字母表示
   this.AllowImgFileSize=0;//允许上传文件的大小 0为无限制 单位:KB
   this.AllowImgWidth=0;//允许上传的图片的宽度 0为无限制 单位:px(像素)
   this.AllowImgHeight=0;//允许上传的图片的高度 0为无限制 单位:px(像素)
   this.ImgObj=new Image();
   this.ImgFileSize=0;
   this.ImgWidth=0;
   this.ImgHeight=0;
   this.FileExt="";
   this.ErrMsg="";
   this.IsImg=false;//全局变量
   
 }
 
 UpLoadFileCheck.prototype.CheckExt=function(obj)
 {
  this.ErrMsg="";
  this.ImgObj.src=obj.value;
  //this.HasChecked=false; 
  if(obj.value=="")
  {
   this.ErrMsg="/n请选择一个文件";   
  }
  else
  {  
   this.FileExt=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();
   if(this.AllowExt!=0&&this.AllowExt.indexOf(this.FileExt)==-1)//判断文件类型是否允许上传
   {
    this.ErrMsg="/n该文件类型不允许上传。请上传 "+this.AllowExt+" 类型的文件,当前文件类型为"+this.FileExt;  
   }
  }
  if(this.ErrMsg!="")
  {
   this.ShowMsg(this.ErrMsg,false);
   return false;
  }
  else  
   return this.CheckProperty(obj);   
 }
 
 UpLoadFileCheck.prototype.CheckProperty=function(obj)
 {
  while(this.ImgObj.readyState!="complete")//
   {
    sleep(1000);//一秒使用图能完全加载   
   }  
  
  if(this.IsImg==true)
  {
   this.ImgWidth=this.ImgObj.width;//取得图片的宽度
   this.ImgHeight=this.ImgObj.height;//取得图片的高度
   if(this.AllowImgWidth!=0&&this.AllowImgWidth<this.ImgWidth)
   this.ErrMsg=this.ErrMsg+"/n图片宽度超过限制。请上传宽度小于"+this.AllowImgWidth+"px的文件,当前图片宽度为"+this.ImgWidth+"px";
 
   if(this.AllowImgHeight!=0&&this.AllowImgHeight<this.ImgHeight)
   this.ErrMsg=this.ErrMsg+"/n图片高度超过限制。请上传高度小于"+this.AllowImgHeight+"px的文件,当前图片高度为"+this.ImgHeight+"px"; 
  }
 
  this.ImgFileSize=Math.round(this.ImgObj.fileSize/1024*100)/100;//取得图片文件的大小 
alert(this.ImgFileSize);
  if(this.AllowImgFileSize!=0&&this.AllowImgFileSize<this.ImgFileSize)
   this.ErrMsg=this.ErrMsg+"/n文件大小超过限制。请上传小于"+this.AllowImgFileSize+"KB的文件,当前文件大小为"+this.ImgFileSize+"KB";
 
  if(this.ErrMsg!="")
  {
   this.ShowMsg(this.ErrMsg,false);
   return false;
  }
  else
   return true;
 }
 
 UpLoadFileCheck.prototype.ShowMsg=function(msg,tf)//显示提示信息 tf=false 显示错误信息 msg-信息内容
 {
  /*msg=msg.replace("/n","<li>");
  msg=msg.replace(//n/gi,"<li>");
   */
  alert(msg);
 }
 function   sleep(num)  
   {  
    var   tempDate=new   Date();  
    var   tempStr="";  
    var   theXmlHttp   =   new   ActiveXObject(   "Microsoft.XMLHTTP"   );  
    while((new   Date()-tempDate)<num   )  
    {  
    tempStr+="/n"+(new   Date()-tempDate);  
    try{  
    theXmlHttp   .open(   "get",   "about:blank?JK="+Math.random(),   false   );  
    theXmlHttp   .send();  
    }  
    catch(e){;}  
    }  
   //containerDiv.innerText=tempStr;  
   return;  
   }  

 function c(obj)
 {
  var d=new UpLoadFileCheck();
  d.IsImg=true;
  d.AllowImgFileSize=20;
  d.CheckExt(obj)
 }
</script>

</head>

<body>
<input name="" type="file"   onChange="c(this)"/>

</body>
</html>

 

哇塞电影网址大全 v20190303 更新日志 1.删除无效网址,更换主站地址。 2.优化搜索页面安全设置。 3.整合优化页面设置。 哇塞电影网址大全简介 哇塞电影网址大全,吸取了以往各种导航网址程序的优点,最大程度的完善优化了各项功能和指标,采用谁对我站贡献大,我站也给予他宣传和展示的机会就越多的流量交换模式,只要您在本系统注册登记您的网址,然后在你网站做好我站连接或是挂上流量互换代码,每次您网站有用户访问到放置我站流量互换代码的站,那么你的网站将在最近入站以及你网站所在分类的第一位置!连接双方公正平等。 哇塞电影网址大全系统前台简介: 1.采用ASP ACCESS架构,安全稳定,防注入功能; 2.新闻文章发布功能支持无限级分类,方便自由; 3.数据库经过防下载等安全处理,后台可超强命名,随意改动; 4.每来访一个IP,来访网站就会自动排到第一,当天来路不同,显示颜色也不同,鼓励点入; 5.前台统计数据调用,最新点入网站调用,未审核网站调用等; 6.申请加入电影网址大全的网站按最后点进的时间排序首页和分类显示链接; 7.分类以昨日点入时间为准,每晚十二点后生成静态; 8.每来访一个IP,就会自动排到第一,当天来路次数不同,显示颜色也不同:有1次即显示,10次即套蓝色,30次即套红色加粗; 9.首页白天3分钟,晚上5分钟自动更新一次,全站24小时手动更新一次; 10.站内搜索功能,方便用户找到自己想要的网址; 11.程序全面优化和升级,增强对搜索引擎的收录功能; 12.流量互换功能,最大程度互换流量。 哇塞电影网址大全系统后台功能详细说明: 网站管理系统: 1.网站基本信息,说明:里面设置,网站标题,LOGO,关键词,统计代码,版权信息! 2.图片广告管理,说明:网站所有图片广告修改的地方,在首页可以看到所有图片广告,其中ads09是在网址内页显示!其它的都在首页和分类页有位置显示! 3.顶部文字广告管理,说明:这里的文字,首页,特别推荐里面显,分类首页和分类页,记得,改后要在生成html管理里,生成一下首页! 4.添加商家文字广告,说明:这里的文字,首页,中间部分,广告,那里的文字,在图片广告下面,一行七个! 5.管理商家文字广告,说明:修改删除商家文字广告! 6.管理帐号设置,说明:管理员用户名,密码的修改! 9.客户留言管理,说明:留言本的回复,修改和删除! 哇塞电影网址大全系统网站分类管理: 1.类别添加管理,说明:分类添加删除管理,这里说明一下添加时有首页显示,导航就显示在首页上面,添加时选酷站显示,就在首页下面酷站里调用! 2.类别删除管理,说明:删除不想要的分类! 3.类别修改管理,说明:分类修改里,有显示,[首][酷]就是上面说明的首页显示,和酷站显示! 哇塞电影网址大全系统网址管理系统: 1.添加网址链接,说明:用于后台管理员手工添加网址 2.添加实用查询|管理实用查询,说明:添加后在首页实用工具里显示! 3.添加名站导航|管理名站导航,说明:添加后在首页名站导航里显示! 4.添加友情链接|管理友情链接,说明:添加后在首页下部友情链接里显示! 5.查看所有的网址,说明:包含站长加的和用户自己加的! 6.站长加入的网址,说明:站长加入的网址! 7.用户加入已审核,说明:用户提交的网址,并通过审核的,说明一下,本站有自动审核功能,开启关闭,在 网站管理系统-网站基本信息里设置! 8.用户加入未审核,说明:用户提交的网址没审的,也就是没有作上本站链接的,或是作上链接没有点击到本站的! 9.有来路入未审核,说明:一般用户认为,有来路就应当审核了,这个功能,是为了关闭自动审核而设计的,手工审核的不管有没有来路,都要站长审核的! 10.加入黑名单网站,说明:加入黑名单的网址,点击这个导航,进入后,可以删除,和取消黑名单! 11.总来路小于五次,说明:本设计用于客户作上本站链接,点入量过小,没有贡献的站,可以多选删除! 12.常用维护共三项,说明:(1)开通所有未审的,一般不用这个,如果想要提交的站就收录,可以点击这个功能!(2)删除重复的网站,有一些站长提交过了,又提交了多次或是用二级域名提交,这样可以删除重复的网站!(3)删除所有未审核的站点,(4)清空所有网址,这个点时要注意,点击了,所有网址就都没有了! 13.站内报错,说明:用户在网址详提交网址打不开的情况页点击的! 14.站内网站搜索,说明:可以按名称,按网址,按分类,按ID号进行搜索! 哇塞电影网址大全系统模版修改管理: 首 页 模版修改 分类页模版修改 关于本站页模板 (这里建议会一些HTML知识的站长修改,如果不会不建议修改以免出错,修改时一定要备份) 生成html管理: 生成分类页面 生成生成主页及其他页 重置统计数据 清除昨天点入数据 清除总点入数据 清除总点出数据 (常用到上面两个,生成分类页和生成主页,也主是首页!每当后台修改了内容时,要马上显示出来就要手动生成,因为前台自动生成要3分钟!) 数据库管理: 备份数据库 恢复数据库 压缩数据库 (常用到备份数据库,定期备份一下,免费数据库出错找不回来数据!) 1.管理目录admin,管理员用户名5a3a,密码5a3acom 2.修改数据库名5a3acom.asa修改成自己想要的名即可! 3.后台分类建议自己修改,要不大家的分类都相同影响百度收录。 哇塞电影网址大全系统前台页面  哇塞电影网址大全系统后台管理 管理目录admin,管理员用户名5a3a,密码5a3acom 后台页面: 相关阅读 同类推荐:搜索/网址导航源码
LibVIO 是一个用于视觉惯性里程计(Visual-Inertial Odometry, VIO)研究的开源库,通常用于机器人、SLAM(同步定位与地图构建)和增强现实等领域。由于 LibVIO 并非由大型商业公司主导开发,因此它可能没有一个正式的官方网站,而是托管在开源平台上,如 GitHub 或 GitLab。 根据开源社区的常见实践,可以通过以下方式获取 LibVIO 的相关资源: - **GitHub/GitLab 页面**:许多 VIO 相关项目(如 ORB-SLAM、VINS-Fusion、OpenVINS 等)都托管在 GitHub 上。可以尝试搜索 `libvio` 或 `LibVIO` 查找相关仓库。 - **学术论文与项目主页**:一些基于 LibVIO 的研究可能会在论文中提供项目链接或演示视频,通常这些页面会包含文档、数据集和编译指南。 - **ROS 社区支持**:如果 LibVIO 支持 ROS(Robot Operating System),可以在 ROS Wiki 或相关论坛中找到集成指南和使用案例。 ### 常见资源建议 1. **GitHub 上的 LibVIO 实现** 可以尝试访问类似如下的开源项目链接(示例): ```bash https://github.com/libvio/libvio ``` 2. **相关文档与教程** 一些项目页面会提供详细的文档,包括安装说明、API 参考以及示例代码。例如: ```cpp // 示例:初始化 VIO 系统 VioSystem vio; vio.initialize(); ``` 3. **社区与论坛** 可以在以下平台中搜索 LibVIO 的相关讨论: - [ROS Discourse](https://discourse.ros.org/) - [Stack Overflow](https://stackoverflow.com/) - [GitHub Discussions](https://github.com/orgs/libvio/discussions) 4. **学术资源** 如果 LibVIO 是某个研究项目的成果,通常可以在相关论文中找到项目主页链接。例如,在 [arXiv](https://arxiv.org/) 或 [Google Scholar](https://scholar.google.com/) 中搜索 "LibVIO" 可以找到相关学术资料。 ### 开发与部署建议 对于开发者而言,建议使用 CMake 构建系统进行编译,并确保依赖项如 OpenCV、Eigen 和 Ceres Solver 已经正确安装。以下是一个典型的 CMake 配置命令: ```cmake cmake .. ``` 在构建完成后,可以通过运行测试脚本验证 LibVIO 的基本功能是否正常。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值