上传前获取上传文件大小

当用户选择要上传的文件时,有没有办法在上传开始之前获得该文件的确切大小? 我猜这需要在客户端使用jQuery或JavaScript完成。 有什么想法?

在当前浏览器中,这不能在纯Javascript中完成。

相反,您可以使用使用Flash的Uploadify 。

在非IE浏览器中 ,您还可以使用HTML5读取客户端上的文件 。

$("#file_input_selector").bind('change', function(){ alert(this.files[0].size); }); 

不确定所有兼容性问题,但这似乎对我来说很好。

Javascript无法检查文件大小(或访问文件系统)。 您需要上传文件才能获得大小

我建议你看看HTML5 File API。 这个,结合一些JS 可能会帮助你。 我只是说因为我还没有机会浏览HTML5标准的这一部分。

http://www.w3.org/TR/FileAPI/#dfn-filereader

PHP文件上传的方式很难在文件上传之前或文件上传期间检查文件详细信息(因为文件是在代码加载之前上传的)。

我知道可以在其他一些语言(可能是Perl或Python)中做一些奇特的事情,它们直接用脚本处理文件上传(脚本打开套接字并处理整个传输本身),但PHP会为你做这件事并代表您的脚本接受任何文件。 如果文件不在PHP的可接受限制范围内,则文件将被丢弃,但仅在文件完全上载后才会被丢弃。

还有一些使用Flash制作的文件上传实现,但不是ActionScript编码器,我也不能真正帮助太多。