【问题标题】:Getting upload file size before upload上传前获取上传文件大小
【发布时间】:2011-05-10 14:36:11
【问题描述】:

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

【问题讨论】:

    标签: php javascript jquery file-upload


    【解决方案1】:
    $("#file_input_selector").bind('change', function(){
     alert(this.files[0].size);
    });
    

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      还有几个使用 Flash 实现的文件上传实现,但不是 ActionScript 编码器,我也帮不上什么忙。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          您可以改用 Uploadify,它使用 Flash。

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

          【讨论】:

          • 回复:caniuse.com。信息丰富但令人沮丧的链接。我想知道 IE 是否会永远处于亏损状态。
          【解决方案5】:

          【讨论】:

            猜你喜欢
            • 2011-11-21
            • 1970-01-01
            • 2020-01-26
            • 1970-01-01
            • 1970-01-01
            • 2012-04-12
            相关资源
            最近更新 更多