【问题标题】:Can I display a file size in a file type input?我可以在文件类型输入中显示文件大小吗?
【发布时间】:2011-10-18 18:20:09
【问题描述】:

我正在处理文件类型输入。我想在选择文件后显示文件大小。我在想我应该使用一些 jquery 来拉它,但我不确定如何。我可以这样做吗?

<input type="file" id="uploadFile" name="uploadFile"/>

【问题讨论】:

  • 不确定这是否可行。用户只是选择要上传的文件的路径,他们并没有在那个特定时间发送实际文件,并且文件大小可能会在选择时间和文件时间之间发生变化实际上已上传。

标签: javascript jquery .net html visual-studio-2010


【解决方案1】:

如果浏览器有能力(firefox、chrome、opera(?)),这应该显示它:

jQuery( "#uploadFile").bind( "change", function(){
    if( this.files && this.files.length ) { //If this condition passes, you can get file size
    var file = this.files[0],
    fileSize = file.size || file.fileSize || 0;
    alert(fileSize+ " bytes" );
    }
});

在这里演示:http://jsfiddle.net/yNQ9M/1/(已更新为在 firefox 和 opera 中工作)

您还可以在旧版浏览器中使用 ActionScript (Flash) hack。

微软正在开发File API in ie10

【讨论】:

  • 这仅适用于谷歌浏览器。 Firefox 和 Opera 都显示“未定义字节”,并且在 IE9 中根本不会触发警报。
  • 也许它曾经做过一次,但他们删除了对它的支持。我在 Firefox 7 中测试过。
  • 它正在工作(否则警报根本不会出现)我需要考虑属性的差异,修复即将到来。
  • 警报工作正常,是的,但它显示“未定义字节”,因为未定义 fileSize...Chrome 是唯一显示数字的浏览器。
  • 谢谢,非常感谢。所以跨浏览器功能问题不用担心?
猜你喜欢
  • 1970-01-01
  • 2012-10-15
  • 2014-08-02
  • 2014-03-11
  • 1970-01-01
  • 1970-01-01
  • 2020-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多