http://zhidao.baidu.com/question/87406080
function getFileSize (fileName) { window.oldOnError = window.onerror; window.onerror = function (err) { if (err.indexOf('utomation') != -1) { alert('file access not possible'); return true; } else return false; }; var fso = new ActiveXObject('Scripting.FileSystemObject'); var file = fso.GetFile(fileName); window.onerror = window.oldOnError; return file.Size; } function showImageDimensions () { alert(this.width + 'x' + this.height); } 我在HTML页面中是用上面的javascript脚本是可以获取文件附件的大小 但是在jsp页面中就不行 请指教
首先你要明白一些定义, 1 javascript 运行在客户端,即用户的浏览器上, 2 jsp运行服务器端,比如装有tomcat的电脑上 3 HTML只会运行在客户端浏览器上 3 放在HTML代码中的javascript所以也只能运行在客户端浏览器上 4 放在jsp中javascript在服务器端运行生成HTML代码发送到客户端浏览器上,所以放在jsp中的javascript最终还是只能运行在客户端浏览器上 5 你欲获取的附件大小在哪里,客户端还是服务器端呢, 6 目前考虑安全性方面,客户端一般是禁止在其浏览器上运行的javascript防问其电脑的文件,而且不同的客户端浏览器安全设置是不一样的,所以如果想获取客户端文件大小是行不通的, 7 目前流行的解决办法,一般既然是附件,都是要上传到服务器上的,可以上传的过程中在服务器端进行检查,在上传附件页面要告诉客户端用户附件上传大小的限制,这种提示在网络会经常见到的(推荐JSP中我常用到的上传组件jspSmartUpload) 希望这些有抛引作用