标题 | JavaScript获取上传文件容量 |
范文 | 我们有时候在上传文件前要判断文件的大小,通常有以下两种方式: 1 <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> 2 <html> 3 <body> 4 <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this)"> 5 <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)"> 6 </body> 7 <script type="text/javascript"> 8 9 function getFileSize(filePath) 10 { 11 var image=new Image(); 12 image.dynsrc=filePath; 13 alert(image.fileSize); 14 } 15 16 function getFileSize(fileObj) 17 { 18 var image=new Image(); 19 image.dynsrc=fileObj.value; 20 var size = image.fileSize || fileObj.files[0].fileSize; 21 if(size > 100000){ 22 alert(size); 23 } 24 25 } 26 </script> 27 </html> 但是以上代码有一个问题,就是在给image.dynsrc赋值的时候,要有文件的操作权限,换句话说,IE7之后的版本为了提高安全性不允许浏览器对文件进行操作,故以上代码不实用。 以下代码通过调用ActiveX来进行文件的读取,需要启用ActiveX的部分功能。 <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <script type="text/javascript"> function getFileSize(fileObj) { if (document.all) { window.oldOnError = window.onerror; window.onerror = function(err) { if (err.indexOf('utomation') != -1) { alert('No access to the file permissions.'); return true; } else return false; }; var fso = new ActiveXObject('Scripting.FileSystemObject'); var file = fso.GetFile(fileName); window.onerror = window.oldOnError; return file.Size; } } </script> <body> <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this)"> </body> </html> |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。