jsp页面使用javascript获取文件的大小

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)

希望这些有抛引作用
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-02-25
如果仅仅是读文件大小的话,可以模拟上传(我自己想的,还没测试过)
<form method="post" enctype="multipart/form-data">提交之后可以通过request读取header中流的长度。不需要完全读取文件。
第2个回答  2009-02-25
那不可能。在火狐中不行倒是真的!
第3个回答  2009-02-25
测试代码全帖出来看看html的和jsp的

jsp页面使用javascript获取文件的大小
2 jsp运行服务器端,比如装有tomcat的电脑上 3 HTML只会运行在客户端浏览器上 3 放在HTML代码中的javascript所以也只能运行在客户端浏览器上 4 放在jsp中javascript在服务器端运行生成HTML代码发送到客户端浏览器上,所以放在jsp中的javascript最终还是只能运行在客户端浏览器上 5 你欲获取的附件大小在哪...

jsp页面上怎么用javascript获取base64编码的图片的大小
可以使用Image对象来获取图片的像素大小,代码如下:var img = new Image()img.src = base64;(图片的base64编码字符串)img.height即为图片的高度 img.width即为图片的宽度

在JSP中用JavaScript获取fckeditor的值,怎么写?
1、<FCK:editor instanceName="fc" toolbarSet="Default" width="600" height="250"><\/FCK:editor>\/\/似乎是fck新版本用法 2、<textarea id="fc" name="fc" style="WIDTH: 100%; HEIGHT: 400px"><\/textarea> js获得编辑内容:alert(getEditorHTMLContents("fc"));js动态赋值 document.getE...

JSP: 如何设置,运行后画面的size
可以用js里面弹出一个窗口 <!-- window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, lef t=0, toolbar=no, menubar=no, scrollbars=no,resizable=no,location=no, statu s=no') \/\/写成一行 --> 参数解释: js脚本开始; window.open 弹出新窗口的命令;'p...

请问如何用javascript判断比较两个文本框输入的日期值大小(在JSP文件...
"文本框ID").value; if(date1<date2){ alert("date1大"); }else if(date1==date2){ alert("date1和date2相等"); }else{ alert("date2大"); }} 调用的时候,可以在文本框上写个onBlur=check();(当文本框失去焦点后调用)...

Java JSP如何取得HashMap的大小
是的,这种方法统计的内存大小是Java使用的内存.但是Java垃圾回收机制,所以不能精确到KB.那就是我们在计算得时候必须GC得原因.还有一个办法就是上面这么兄弟说得,用序列化.把HaspMap序列化(其实就是写入到一个临时文件).然后这个临时文件得大小,就是内存占用得大小.这个可以精确到KB,但是效率上,...

jsp网站系统..我可以在jsp页面中用javascript打开同目录下的xml文件并...
好像没有JS可以读取并解析文件的吧,这种情况一般都是后台代码读取的 你那竟然是JSP,那么你可以在JSP里写JAVA代码来读取XML,然后在JS里就可以调用啦。你在百度搜索一下JAVA怎么读取并解析XML文件的了 ,然后就可以了哈

我想在jsp页面中用js获取s:property中的value要怎么办?
jsp页面中用js获取s:property中的value的做法是在js中利用单引号对界定s:property取值。如下:var url = ''1、jsp文件定义如下: <input type="button" onclick="javascript:cancel()" value="

servlet中如何使用jsp中javascript里的变量
在jsp页面javascript中定义变量param,把变量及其值都以"url?param=value"形式传入指定的servlet中,在servlet中用request.getParameter("param")来获取param的值

jsp路径最大长度
使用较小的文件和资源:尽量减少你的JSP页面中使用的图像、CSS、JavaScript和其他资源的大小,这样可以降低路径的总长度。优化服务器配置:根据服务器的配置,你可能需要调整服务器设置,以增加文件系统的最大限制。使用更先进的服务器:有些更先进的服务器(如Apache Tomcat 9或Jetty)提供了更大的文件系统...

相似回答