js控制上传文件大小

 <p><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script></p><p>var uploadfile = {
&nbsp;issupport : false,
&nbsp;size : 0,
&nbsp;imgwidth : 0,
&nbsp;imgheight : 0,
&nbsp;flag : false
}</p><p>String.prototype.endWith=function(str){
&nbsp;if(str==null||str==""||this.length==0||str.length>this.length)
&nbsp;&nbsp; return false;
&nbsp;if(this.substring(this.length-str.length)==str)
&nbsp;&nbsp; return true;
&nbsp;else
&nbsp;&nbsp; return false;
&nbsp;return true;
}</p><p>
function uploadfilesize(id){
&nbsp;var fobj = null;
&nbsp;if('string'==typeof(id)){
&nbsp;&nbsp;fobj = eval(id);
&nbsp;}else{
&nbsp;&nbsp;fobj = id;
&nbsp;}
&nbsp;if(fobj.files){//
&nbsp;&nbsp;uploadfile.size = fobj.files[0].fileSize;
&nbsp;&nbsp;if(fobj.files[0].fileSize==undefined){ //opera
&nbsp;&nbsp;&nbsp;uploadfile.size = fobj.files[0].size;
&nbsp;&nbsp;&nbsp;uploadfile.issupport = true;
&nbsp;&nbsp;}
&nbsp;&nbsp;uploadfile.issupport = true;
&nbsp;}else if(navigator.userAgent.indexOf("MSIE")>0){//IE
&nbsp;&nbsp;uploadfile.issupport = false;
&nbsp;}else{
&nbsp;&nbsp;uploadfile.issupport = false;
&nbsp;}
}</p><p>function isuploadtypes(id, types){
&nbsp;var fobj = null;
&nbsp;if('string'==typeof(id)){
&nbsp;&nbsp;fobj = eval(id);
&nbsp;}else{
&nbsp;&nbsp;fobj = id;
&nbsp;}
&nbsp;var name = fobj.value;
&nbsp;if(types!=null && types.length>0){
&nbsp;&nbsp;for(var i=0; i<types.length; i++){
&nbsp;&nbsp;&nbsp;if(name.toLowerCase().endWith(types[i])){
&nbsp;&nbsp;&nbsp;&nbsp;return true;
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;}
&nbsp;}
&nbsp;return false;
}</p><p>function isuploadimg(id){
&nbsp;var fobj = null;
&nbsp;if('string'==typeof(id)){
&nbsp;&nbsp;fobj = eval(id);
&nbsp;}else{
&nbsp;&nbsp;fobj = id;
&nbsp;}
&nbsp;var name = fobj.value;
&nbsp;if (name.toLowerCase().endWith(".jpg")
&nbsp;&nbsp;|| name.toLowerCase().endWith(".jpeg")
&nbsp;&nbsp;|| name.toLowerCase().endWith(".png")
&nbsp;&nbsp;|| name.toLowerCase().endWith(".bmp")){
&nbsp;&nbsp;return true;
&nbsp;}
&nbsp;return false;
}
var image=new Image();
function uploadimg(id){
&nbsp;var fobj = null;
&nbsp;if('string'==typeof(id)){
&nbsp;&nbsp;fobj = eval(id);
&nbsp;}else{
&nbsp;&nbsp;fobj = id;
&nbsp;}
&nbsp;
&nbsp;if(fobj.files){//
&nbsp;&nbsp;uploadfile.size = fobj.files[0].fileSize;
&nbsp;&nbsp;if(fobj.files[0].fileSize==undefined){ //opera
&nbsp;&nbsp;&nbsp;//image.src = fobj.value;
&nbsp;&nbsp;&nbsp;uploadfile.issupport = false;
&nbsp;&nbsp;}else
&nbsp;&nbsp;if(navigator.vendor.indexOf("Google")>=0){//google
&nbsp;&nbsp;&nbsp;//alert(file1.files[0].path);//还未找到办法
&nbsp;&nbsp;&nbsp;uploadfile.issupport = false;
&nbsp;&nbsp;}else{//火狐
&nbsp;&nbsp;&nbsp;uploadfile.issupport = true;
&nbsp;&nbsp;&nbsp;image.src = fobj.files.item(0).getAsDataURL();
&nbsp;&nbsp;}
&nbsp;}else if(navigator.userAgent.indexOf("MSIE")>0){//IE
&nbsp;&nbsp;uploadfile.issupport = true;
&nbsp;&nbsp;image.src = fobj.value;
&nbsp;&nbsp;uploadfile.size = image.fileSize;
&nbsp;}else{
&nbsp;&nbsp;uploadfile.issupport = false;;
&nbsp;}
&nbsp;if(uploadfile.issupport){
&nbsp;&nbsp;image.style.cssText="display:block;position:absolute; left: -5000px; top:-5000px;";
&nbsp;&nbsp;document.body.appendChild(image);
&nbsp;&nbsp;uploadfile.imgwidth = image.width;
&nbsp;&nbsp;uploadfile.imgheight = image.height;
&nbsp;&nbsp;if(uploadfile.imgwidth==0){
&nbsp;&nbsp;&nbsp;uploadfile.imgwidth = image.offsetWidth;
&nbsp;&nbsp;&nbsp;uploadfile.imgheight = image.offsetHeight;
&nbsp;&nbsp;}
&nbsp;&nbsp;if(fobj.files){
&nbsp;&nbsp;&nbsp;setTimeout("pausetime()",0.0000000000001);
&nbsp;&nbsp;}else{
&nbsp;&nbsp;&nbsp;setTimeout("pauseietime()",200);
&nbsp;&nbsp;&nbsp;image.onreadystatechange= function(){
&nbsp;&nbsp;&nbsp;&nbsp;if(image.readyState == "complete"){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uploadfile.size = image.fileSize;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uploadfile.imgwidth = image.offsetWidth;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uploadfile.imgheight = image.offsetHeight;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(document.body.contains(image)){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.body.removeChild(image);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uploadfile.flag = true;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//getHeight();
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;}
&nbsp;&nbsp;fobj = null;
&nbsp;}
}</p><p>/**
* 四舍五入函数
* @param {} Dight
* @param {} How
* @return {}
*/
function ForDight(Dight,How){
&nbsp;Dight = Math.round (Dight*Math.pow(10,How))/Math.pow(10,How);
&nbsp;return Dight;
} </p><p>function getFileSize(filesize){
&nbsp;var size = "未知";
&nbsp;var tmp = 0;
&nbsp;if(filesize!=0){
&nbsp;&nbsp;tmp = ForDight(filesize/1024,2);
&nbsp;&nbsp;if(tmp<1){
&nbsp;&nbsp;&nbsp;size="1KB";
&nbsp;&nbsp;}else if(tmp<1024&&tmp>1){
&nbsp;&nbsp;&nbsp;tmp = ForDight(filesize/1024,0);
&nbsp;&nbsp;&nbsp;size=tmp+"KB";
&nbsp;&nbsp;}else{
&nbsp;&nbsp;&nbsp;tmp = ForDight(tmp/1024,2);
&nbsp;&nbsp;&nbsp;if(tmp<1024){
&nbsp;&nbsp;&nbsp;&nbsp;size=tmp+"MB";
&nbsp;&nbsp;&nbsp;}else{
&nbsp;&nbsp;&nbsp;&nbsp;tmp = ForDight(tmp/1024,2);
&nbsp;&nbsp;&nbsp;&nbsp;size=tmp+"GB";
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;}
&nbsp;}
&nbsp;return size;
}</p><p>function pausetime(){
&nbsp;uploadfile.imgwidth = image.offsetWidth;
&nbsp;uploadfile.imgheight = image.offsetHeight;
&nbsp;document.body.removeChild(image);
&nbsp;uploadfile.flag = true;
&nbsp;getHeight();
}</p><p>function pauseietime(){
&nbsp;if(document.body.contains(image)){
&nbsp;&nbsp;document.body.removeChild(image);
&nbsp;&nbsp;if(image.fileSize < 5 || (image.height==30 && image.width==28)){
&nbsp;&nbsp;&nbsp;uploadfile.flag = false;
&nbsp;&nbsp;}else{
&nbsp;&nbsp;&nbsp;uploadfile.flag = true;
&nbsp;&nbsp;}
&nbsp;}
&nbsp;getHeight();
}</p><p>
function testsize(){
&nbsp;//if(isuploadimg('file1')){
&nbsp;if(isuploadtypes('file1',['.jpg','.gif','.png','.bmp','.txt'])){
&nbsp;&nbsp;uploadimg('file1');
&nbsp;}else{
&nbsp;&nbsp;alert('上传文件格式不对');
&nbsp;}
}</p><p>function getHeight(){
&nbsp;if(uploadfile.flag){
&nbsp;&nbsp;alert("高度:"+uploadfile.imgheight+"宽度:"+uploadfile.imgwidth);
&nbsp;&nbsp;//alert("宽度"+uploadfile.imgwidth);
&nbsp;&nbsp;alert("大小:"+getFileSize(uploadfile.size));
&nbsp;}else{
&nbsp;&nbsp;alert('检测图片出错,请修改您的图片再上传');
&nbsp;}
}
</script>
</head>
<body></p><p><input type=file name="file1" id="file1" οnchange="testsize();">
<input type="button" value="test" οnclick="getHeight()"/></p><p></body>
</html>
http://www.w3help.org/zh-cn/causes/HF1010
</p>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值