【问题标题】:Check filesize before upload上传前检查文件大小
【发布时间】:2011-08-20 18:43:11
【问题描述】:

我有一个允许用户上传视频文件的网站,但我想将文件大小限制为 2MB,上传文件后这非常简单,但有谁知道我是否可以检查文件大小之前 上传它,这样我就不会不必要地超载服务器?

我可能正在寻找 javascript/ajax 解决方案,但我不知道如何实现这一点。

非常欢迎任何帮助。谢谢大家!

更新:

我需要在客户端而不是服务器端检查文件大小,这可能吗?

【问题讨论】:

    标签: php javascript ajax client-side html4


    【解决方案1】:

    您可以在 HTML5 中使用 file reader 读取 JavaScript 中的本地文件:
    http://www.html5rocks.com/en/tutorials/file/dndfiles/

    function handleFileSelect(evt) {
      var files = evt.target.files; // FileList object
    
      // files is a FileList of File objects. List some properties.
      var output = [];
      for (var i = 0, f; f = files[i]; i++) {
        console.log(f.size);        /*<--Here is your size of the file! :D*/
      }
    }
    
    document.getElementById('files').addEventListener('change', handleFileSelect, false);
    

    【讨论】:

    • 亲爱的 Derek,非常感谢您的解决方案,它看起来很有趣,我会保留它以备将来使用,但是您知道如何在 html4 中实现它吗?
    • @Tuga,我认为这在 HTML4 中是不可能的。您必须在服务器中执行此操作。
    • 谢谢,我会继续在html4中寻找解决方案。
    • @Tuga,实际上你可以使用 Flash 来做到这一点。
    【解决方案2】:

    如果您使用 php,您可以设置 php 选项 - 'upload_max_filesize'。请参阅http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize 可能会有所帮助。

    【讨论】:

    • 感谢您的回答,但我需要“在上传之前检查文件大小,以免不必要地使服务器超载”,基本上,我需要检查客户端的文件大小和服务器端的NOT。
    猜你喜欢
    • 2021-08-19
    • 1970-01-01
    • 2013-05-28
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 2015-05-13
    • 2015-04-25
    相关资源
    最近更新 更多