上传前获取文件大小

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

5

回复:http://www.caniuse.com/。这是一个信息丰富但令人沮丧的链接。我想知道IE是否永远会处于红色状态。 - bob-the-destroyer

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

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



0
JavaScript没有检查文件大小的能力(或者说没有访问文件系统的能力)。你需要上传文件以获取文件大小。

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

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

PHP文件上传的工作方式使得在文件上传之前或期间很难检查文件细节(因为文件在您的代码甚至加载之前就已经上传了)。

我知道在其他一些语言中(可能是Perl或Python),可以做一些花哨的事情,直接处理脚本的文件上传(其中脚本打开套接字并处理整个传输本身),但是PHP会为您完成这项工作,并代表您的脚本接受任何文件。如果文件不符合PHP的可接受限制,则该文件将被丢弃,但只有在文件完全上传后才会被丢弃。

还有几种使用Flash进行文件上传实现的方法,但由于我不是ActionScript编码人员,所以在那方面帮助不大。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接