js获取上传文件大小

如题,主要是用来做验证的,要是不用获取就可以做验证的,那就更好了

js一般是获取不到文件大小的,即使有时能,也是在特定浏览器版本下。
使用js就涉及到浏览器的类型以及种类,判断文件大小还是比较麻烦的。
一般判断文件大小都放在服务器端,如果时间太长,可以用ajax做异步效果

理论上JS 是无法获取到文件的大小

这种你可以试试
[code="java"]http://blog.csdn.net/kookob/article/details/6730380[/code]

简单地讲单纯地向使用js在客户端来实现是有一些兼容的问题
第一:比如HTML5支持了FileList这样的文件api,扩展的FileList对象是有size的属性的,但是毕竟要做兼容。
第二:目前很多的上传控件采用flash的方式,比如jquery uploadify这样的可以满足用户单纯地去配置一些参数来控制文件的大小。

附加链接:
关于 HTML5的FileList可以参考 http://zhangyaochun.iteye.com/blog/1487874
关于 jquery uploadify http://www.uploadify.com/

要想在JS中即时的获取文件大小,必须借助于ActiveX控件来实现。
比如[url=http://www.cnblogs.com/xproer/archive/2010/10/24/1859895.html]Xproer.HttpUploader[/url]
此控件是基于标准HTTP协议实现的文件上传功能。优势是扩展性非常好,整合简单,支持批量上传文件和上传文件夹功能,适合各种简单WEB项目。
另外一个特点是支持自动上传指定的本地文件。
[img]http://images.cnblogs.com/cnblogs_com/xproer/webplug2.jpg[/img]
[img]http://images.cnblogs.com/cnblogs_com/xproer/webplug1.png[/img]
[img]http://www.cnblogs.com/images/cnblogs_com/xproer/httpuploader-folder.png[/img]
单文件上传演示
[img]http://img.my.csdn.net/uploads/201204/15/1334449423_2689.png[/img]
上传本地文件代码
使用步骤如下:
1.调用AddFile函数添加本地文件,注意路径需要使用双斜框(\)
2.调用PostFirst函数开始上传文件。
[code="JScript"]

var uploaderMgr = new HttpUploaderMgr(); uploaderMgr.Load();//加载控件 window.onload = function() { uploaderMgr.Init();//初始化控件 //添加一个本地文件 uploaderMgr.AddFile("D:\\Soft\\QQ2010.exe"); uploaderMgr.PostFirst(); };

[/code]

单文件整合代码:
[code="JScript"]
服务器返回消息:
<br> var uploaderMgr = new HttpUploaderSingleMgr();<br> uploaderMgr.Config[&quot;PostUrl&quot;] = &quot;http://localhost:8080/asp.net/upload.aspx&quot;;<br> uploaderMgr.Load();<br> //文件上传完成后执行的回调函数<br> uploaderMgr.CompleteHook = function(msg)<br> {<br> document.getElementById(&quot;txtFilePath&quot;).value = msg;<br> };</p> <pre><code> window.onload = function() { uploaderMgr.Init(); }; &lt;/script&gt; </code></pre> <p>[/code]<br> 示例下载:<br> [url=<a href="http://dl.dbank.com/c05vcjtvvv%5DCAB%E5%AE%89%E8%A3%85%E5%8C%85%5B/url">http://dl.dbank.com/c05vcjtvvv]CAB安装包[/url</a>]<br> [url=<a href="http://dl.dbank.com/c0pvhlc923%5D%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3%5B/url">http://dl.dbank.com/c0pvhlc923]开发文档[/url</a>]<br> [url=<a href="http://dl.dbank.com/c00ul6dn23%5DASP%E7%A4%BA%E4%BE%8B%5B/url">http://dl.dbank.com/c00ul6dn23]ASP示例[/url</a>]<br> [url=<a href="http://dl.dbank.com/c05rbmccxi%5DASP.NET%E7%A4%BA%E4%BE%8B%5B/url">http://dl.dbank.com/c05rbmccxi]ASP.NET示例[/url</a>]<br> [url=<a href="http://dl.dbank.com/c0cyubd823%5DJSP%E7%A4%BA%E4%BE%8B%5B/url">http://dl.dbank.com/c0cyubd823]JSP示例[/url</a>]<br> [url=<a href="http://dl.dbank.com/c0a0xqgyg7%5DPHP%E7%A4%BA%E4%BE%8B%5B/url">http://dl.dbank.com/c0a0xqgyg7]PHP示例[/url</a>]</p>