js怎么判断上传文件的大小

JavaScript016

js怎么判断上传文件的大小,第1张

HTML 中input标签有个类型是file。这个是可以上传文件使用的。你可以直接操作这个标签的size来获取文件的大小。

可通过下面的方式 

html代码: js代码:

var fileId = "uploadtest"

var dom = document.getElementById(fileId)  

var fileSize =  dom.files[0].size//文件的大小,单位为字节B

$("#ms_upload_file").change(function(){

//检验非空和文件大小

if($(this).val() !== '' &&checkSize(this)) {//其他操作

}

})/**

* 函数:检查上传文件大小

* 输入:input的js对象

* 输出:

**/function checkSize(input) {

var Sys = {} var flag var filesize = 0 //判断浏览器种类

if (navigator.userAgent.indexOf("MSIE") >0) {

Sys.ie=true

}if (navigator.userAgent.indexOf("Firefox")>0) {

Sys.firefox=true

}//获取文件大小

if (Sys.firefox) {

filesize = input.files[0].size

} else if (Sys.ie){var fileobject = new ActiveXObject ("Scripting.FileSystemObject")//获取上传文件的对象

var file = fileobject.GetFile (input.value)//获取上传的文件

filesize = file.Size//文件大小

}//判断是否符合要求

if (filesize / (1024 * 1024) <5 ) {

flag = true

} else {

alert("附件过大,建议不要超过5M!")

flag = false

}return flag

}

这样设置的:

1、先用form标签创建一个上传的表单。

<form id="form1" name="form1" method="post" action="" enctype="multipart/form-data">

 <p><input type="hidden" name="MAX_FILE_SIZE" value="100000" /></p>

 <p><input name="userfile" id="userfile" type="file" onchange="check()"/></p>

</form>

2、用Javascript设置格式和大小。

<script language="JavaScript" type="text/javascript">  function check()    {var aa=document.getElementById("userfile").value.toLowerCase().split('.')//以“.”分隔上传文件字符串   // var aa=document.form1.userfile.value.toLowerCase().split('.')//以“.”分隔上传文件字符串           if(document.form1.userfile.value=="")    {        alert('图片不能为空!')        return false    }    else    {    if(aa[aa.length-1]=='gif'||aa[aa.length-1]=='jpg'||aa[aa.length-1]=='bmp'

||aa[aa.length-1]=='png'||aa[aa.length-1]=='jpeg')//判断图片格式    {var imagSize =  document.getElementById("userfile").files[0].sizealert("图片大小:"+imagSize+"B")if(imagSize<1024*1024*1)        alert("图片大小在1M以内,为:"+imagSize/(1024*1024)+"M")        return true    }    else    {        alert('请选择格式为*.jpg、*.gif、*.bmp、*.png、*.jpeg 的图片')//       return false    }    }    }  </script>

图片超过1M则不能上传 如图: