0

我想在更改功能运行时获取文件大小。我尝试了更多,但没有任何效果。我该怎么做谢谢

   {
        xtype: 'filefield',
        name: 'upfile[]',
        buttonConfig: {
            text: 'add'
        },
        listeners: {
              'change': function(f, value){
                    alert(f.size); // not filesize
              }
        }
    }
4

3 回答 3

1
  1. 唯一通用的解决方案是将文件上传到服务器并取回文件大小

  2. 对于现代浏览器(IE10 和所有其他浏览器),您可以使用 HTML5 FileReader API

    https://developer.mozilla.org/en-US/docs/Web/API/FileReader

  3. 对于 IE 9 或更低版本,您可以使用 Hariharan 的解决方案

于 2013-06-25T19:42:59.520 回答
1
listeners:{
    change:function(inputFile, value){
            console.log(inputFile.fileInputEl.dom.files[0].size)
     }
}
于 2019-06-15T19:08:10.620 回答
0

有可能ActiveX Objects

function getSize()
{
    var myFSO = new ActiveXObject("Scripting.FileSystemObject");
    var filepath = document.upload.file.value;
    var thefile = myFSO.getFile(filepath);
    var size = thefile.size;
    alert(size + " bytes");
}

请参考以下链接

http://www.sencha.com/forum/showthread.php?158445-How-can-i-get-the-size-of-the-file-before-upload

于 2013-06-25T12:42:40.227 回答