论坛首页 Java版 Webwork

请教关于上载文件,如何能在实际传输进行之前判断文件大小,...

浏览 5437 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2005-03-17
我现在的处理导致文件是传输完了再进行的大小判断,
这样很浪费用户时间,
有没有什么办法能在传输进行之前就判断的,
哪位前辈有解决办法指点一下吧,多谢。
   
时间:2005-03-17
Javascript
   
0 请登录后投票
时间:2005-03-27
如果要不传的话应该是只能在客户端判断了吧?js
   
0 请登录后投票
时间:2005-03-27
var fso, f, s;
fso = new ActiveXObject( "Scripting.FileSystemObject" );
f = fso.GetFile(form_name.fileup_input.value);
s = f.Name + " on Drive " + f.Drive + "<br>";
s += "文件建立日期: " + f.DateCreated + "<br>";
s += "最近一次访问时间: " + f.DateLastAccessed + "<br>";
s += "最近修改时间: " + f.DateLastModified + "<br>";
s += "大小: "+f.size +" bytes" + "<br>";
s += "属性: "+f.attributes +"<br>";
s += "大小: "+f.size +" bytes" + "<br>";

大概是这样写吧
   
0 请登录后投票
时间:2005-03-28
这是在Client端执行吗?
   
0 请登录后投票
时间:2005-03-28
当然啦.要不哪能用这句:form_name.fileup_input.value
   
0 请登录后投票
时间:2005-03-28
好办法,可是浏览器如果禁用了FSO对象,或者在非IE情况下,还有其他办法么?
   
0 请登录后投票
时间:2005-03-28
sunsonbaby 写道
var fso, f, s;
fso = new ActiveXObject( "Scripting.FileSystemObject" );
f = fso.GetFile(form_name.fileup_input.value);
s = f.Name + " on Drive " + f.Drive + "<br>";
s += "文件建立日期: " + f.DateCreated + "<br>";
s += "最近一次访问时间: " + f.DateLastAccessed + "<br>";
s += "最近修改时间: " + f.DateLastModified + "<br>";
s += "大小: "+f.size +" bytes" + "<br>";
s += "属性: "+f.attributes +"<br>";
s += "大小: "+f.size +" bytes" + "<br>";

大概是这样写吧

这个写法基本上只能在本地的网页上执行成功吧, 或者你把访问的那个站点设置在IE的"受信任站点"区域, 不然浏览器从安全方面考虑, 绝对不会允许在客户端执行这样的代码的.
   
0 请登录后投票
时间:2005-03-28
gogogogo 写道
我现在的处理导致文件是传输完了再进行的大小判断,
这样很浪费用户时间,
有没有什么办法能在传输进行之前就判断的,
哪位前辈有解决办法指点一下吧,多谢。

在目前的B/S结构的程序中, 我想不出有这样的办法. 当然, 通过黑客手段绕过浏览器的安全限制也许有可能, 不过一个安全更新就会封掉你找到的这个方法, 哈哈.

如果是一些管理系统, 也许你可以通过强制要求用户把你的站点加到受信任站点区域, 那么这个功能是可以实现的(上面使用FSO的方法就可以, 当然只适用于IE).
   
0 请登录后投票
时间:2005-03-28
呵呵,不知道还有没有其他办法啊?呵呵
   
0 请登录后投票
论坛首页 Java版 Webwork

跳转论坛:
JavaEye推荐