上传前获取上传文件大小

时间:2010-11-16 03:20:37

标签: php javascript jquery file-upload

当用户选择要上传的文件时,是否可以在上传开始之前获取此文件的确切大小?我猜这需要在客户端使用jQuery或JavaScript完成。有什么想法吗?

5 个答案:

答案 0 :(得分:5)

在当前浏览器的纯Javascript中无法做到这一点。

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

In non-IE browsers,您也可以use HTML5 to read files on the client

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

答案 3 :(得分:0)

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

答案 4 :(得分:0)

我建议您查看HTML5文件API。这个,加上一些JS 可能能够帮助你。我只是说因为我还没有机会浏览HTML5标准的这一部分。

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

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

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

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