Javascript 上传前如何验证文件大小?

Javascript 上传前如何验证文件大小?,javascript,file-upload,Javascript,File Upload,可能重复: GMail可以选择检查文件大小并发出警报,而不让页面发回 我自己如何实现这一功能?Gmail为此使用闪存应用程序。如果您想检查文件大小,您需要在这样的环境中进行检查;JavaScript本身没有实现这一点的机制。您可以使用它,它是一个jQuery插件,使用flash检查文件大小,并具有其他简洁的功能。 使用HTML5,您可以使用JavaScript在客户端实现这一点。这是jQuery,但它也可以在没有的情况下工作。当然:。请注意,它并不是在所有浏览器中都可用 您可以使用HTML5

可能重复:

GMail可以选择检查文件大小并发出警报,而不让页面发回


我自己如何实现这一功能?

Gmail为此使用闪存应用程序。如果您想检查文件大小,您需要在这样的环境中进行检查;JavaScript本身没有实现这一点的机制。

您可以使用它,它是一个jQuery插件,使用flash检查文件大小,并具有其他简洁的功能。
使用HTML5,您可以使用JavaScript在客户端实现这一点。这是jQuery,但它也可以在没有的情况下工作。当然:。请注意,它并不是在所有浏览器中都可用


您可以使用HTML5 JS文件API实现该文件

您可以在my web IDE中测试运行以下代码(但请使用google chrome或FF):

以下代码为您检索文件类型和文件大小:)


//检查各种文件API支持。
if(window.File&&window.FileReader&&window.FileList&&window.Blob){
//非常成功!支持所有文件API。
功能手柄文件选择(evt){
var files=evt.target.files;//文件列表对象
//文件是文件对象的文件列表。请列出一些属性。
var输出=[];
for(var i=0,f;f=files[i];i++){
output.push(“
  • ”,escape(f.name),“”(“,f.type | | |“n/a”,“)-”,f.size,“bytes
  • ”); } document.getElementById('list').innerHTML='
      '+output.join('')+'
    '; } //绑定事件侦听器 document.getElementById('files').addEventListener('change',handleFileSelect,false); }否则{ 警报('此浏览器不完全支持文件API'); }
  • 与HTML5结合使用,它确实可以。当用户在
    中选择文件时,您可以使用
    onchange
    事件查找所选文件。还包括文件大小。很有趣,很高兴知道。您可以考虑将其作为备选答案添加一次。请参阅Hotmail站点。由.net开发的整个网站,在该网站上载文件时显示的警告与我想要的dude相同。如果问题重复,请将其标记为重复。请不要将答案从一个复制粘贴到另一个。在编程中复制和粘贴是不好的,为什么它对编程的答案是好的呢?
    $('#file').change(function() {
        alert(this.files[0].size + " bytes");
    });
    
    <input type="file" id="files" name="files[]" multiple />
    <output id="list"></output>
    
    // Check for the various File API support.
    if (window.File && window.FileReader && window.FileList && window.Blob) {
    
        // Great success! All the File APIs are supported.
        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++) {
              output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ', f.size, ' bytes </strong></li>');
            }
    
            document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
        }
    
        // Bind Event Listener
        document.getElementById('files').addEventListener('change', handleFileSelect, false);
    
    } else {
        alert('The File APIs are not fully supported in this browser.');
    }