JS 获取上传文件大小
发布时间:2018-09-02 09:11:28 所属栏目:模式 来源:站长网
导读:我们有时候在上传文件前要判断文件的大小,通常有以下两种方式: Copy to Clipboard 引用的内容:[www.veryhuo.com]!doctype html public -//w3c//dtd html 4.0 transitional//en html body INPUT TYPE=file NAME=file SIZE=30 onchange=getFileSize(this)
我们有时候在上传文件前要判断文件的大小,通常有以下两种方式:
Copy to Clipboard![]() <html> <body> <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this)"> <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)"> </body> <script type="text/javascript"> function getFileSize(filePath) { var image=new Image(); image.dynsrc=filePath; title="veryhuo.com" alert(image.fileSize); } function getFileSize(fileObj) { var image=new Image(); image.dynsrc=fileObj.value; var size = image.fileSize || fileObj.files[0].fileSize; if(size > 100000){ alert(size); } } </script> </html> 但是以上代码有一个问题,就是在给image.dynsrc赋值的时候,要有文件的操作权限,换句话说,IE7之后的版本为了提高安全性不允许浏览器对文件进行操作,故以上代码不实用。 以下代码通过调用ActiveX来进行文件的读取,需要启用ActiveX的部分功能。 Copy to Clipboard ![]() <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> (编辑:南京站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |