如何用javascript控制上传文件的大小

 更新时间:2006年10月26日 00:00:00   作者:  
复制代码 代码如下:

<form   name=Myform  onsubmit="return   CheckFileSize()">    
  <input   type=file   name=photo><br/>    
  <input   type=submit   value=submit></form>    

  <SCRIPT   LANGUAGE="JavaScript"><!--    
  function   CheckFileSize()    
  {    
      var   s   =   document.Myform.photo.value;    
      if(s==" ")return   false;    
      var   img   =   new   Image();    
      img.src   =   s;    
      alert("高   =   "+   img.height   +   "\n宽   =   "+   img.width);    
      alert("fileSize   =   "+   img.fileSize   +"   字节");    
      return   false;    
  }    
  //--></SCRIPT>   

应用了javascript和在IE下img本身的fileSize属性。另外img还有其他的几个属性,如fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters,我们可以通过这些属性来获取图片文件的部分信息,如文件大小,我们用file表单同img标签结合,就能够在上传之前判断图片文件的大小是否合法了。
复制代码 代码如下:

<input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> K 
<input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/> 
<img src="about:blank" id="fileChecker" alt="test" height="18"/> 

<script type="text/javascript"> 
var oFileChecker = document.getElementById("fileChecker"); 

function changeSrc(filePicker) 

oFileChecker.src = filePicker.value; 


oFileChecker.onreadystatechange = function () 

if (oFileChecker.readyState == "complete") 

checkSize(); 



function checkSize() 

var limit = document.getElementById("fileSizeLimit").value * 1024; 

if (oFileChecker.fileSize > limit) 

alert("too large"); 

else 

alert("ok"); 


</script> 

复制代码 代码如下:

function   CheckFileSize()    
  {    
     var FileMaxSize = 100;//限制上传的文件大小,单位(k) 
      var   s   =   document.RegForm.Img_1.value;   
      //if(s==""){alert("No image,please select again!");document.RegForm.Img_1.focus(); return   false;}    
      var   img   =   new   Image();    

      img.src   =   s;  

     if(img.fileSize>FileMaxSize*1024){alert("The file size exceeds "+FileMaxSize+"K,please choose a smaller one!");document.RegForm.Img_1.focus();return false;} 

  //--></SCRIPT>    
<FORM action="**.asp" method="post" onSubmit="return CheckFileSize()" enctype="multipart/form-data" name="RegForm"> 
<input name="Next" type="submit" class="pBttn" id="Next" value="Save">

相关文章

  • JavaScript必知必会(六) delete in instanceof

    JavaScript必知必会(六) delete in instanceof

    这篇文章主要介绍了JavaScript必知必会(六) delete in instanceof的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法

    Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法

    前端框架 Bootstrap 的模态对话框,可以使用 remote 选项指定一个 URL,这样对话框在第一次弹出的时候就会自动从这个地址加载数据到 .modal-body 中,但是它只会加载一次,不过通过在事件中调用 removeData() 方法可以解决这个问题,具体操作方法,大家通过本文了解下吧
    2017-07-07
  • JavaScript实现密码框输入验证

    JavaScript实现密码框输入验证

    这篇文章主要为大家详细介绍了JavaScript实现密码框输入验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 小程序实现带索引的城市列表

    小程序实现带索引的城市列表

    这篇文章主要为大家详细介绍了小程序实现带索引的城市列表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 解决iframe的frameborder在chrome/ff/ie下的差异

    解决iframe的frameborder在chrome/ff/ie下的差异

    最近的项目中使用了动态创建iframe的js方法,发现iframe.frameborder="0"在IE7下不管用,而chrome/ff都正常的,很是郁闷。
    2010-08-08
  • 跟我学习javascript的执行上下文

    跟我学习javascript的执行上下文

    跟我学习javascript的执行上下文,读完本文后,你应该清楚了解释器做了什么,为什么函数和变量能在声明前使用以及它们的值是如何决定的,需要了解这些内容的朋友可以参考下
    2015-11-11
  • 更靠谱的H5横竖屏检测方法(js代码)

    更靠谱的H5横竖屏检测方法(js代码)

    这篇文章主要为大家详细介绍了更靠谱的横竖屏检测方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • 清除输入框内的空格

    清除输入框内的空格

    本文主要分享了js实现清除输入框内的空格的代码,代码简单易懂,需要的朋友一起来看下吧
    2016-12-12
  • 老生常谈JavaScript 正则表达式语法

    老生常谈JavaScript 正则表达式语法

    下面小编就为大家带来一篇老生常谈JavaScript 正则表达式语法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • Nuxt.js 数据双向绑定的实现

    Nuxt.js 数据双向绑定的实现

    这篇文章主要介绍了Nuxt.js 数据双向绑定的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02

最新评论