如何在旧版浏览器中获取输入文件的数据

时间:2014-08-13 07:59:12

标签: javascript jquery internet-explorer-7

我使用<input type="file"/>上传文件,并希望在选择文件时获取文件的信息。
我可以在控制台使用中阅读它:

console.log($("input[type=file]"));

但我不知道如何获得.files

file message

例如,我想获取文件大小:95786,如何使用JQuery获取它?

更新

this.files[0].size在IE7中工作,我想要更多兼容功能。

4 个答案:

答案 0 :(得分:3)

很简单,您可以使用querySelector()方法访问DOM元素。

这是你应该怎么做的 -

var files = document.querySelector("input[type=file]").files;
console.log(files);

答案 1 :(得分:0)

<input type="file" id="myFile" />

尝试以下方法:

//binds to onchange event of your input field
$('#myFile').bind('change', function() {

  //this.files[0].size gets the size of your file.
   console.log(this.files[0].size);

});

旧浏览器支持

请注意,旧浏览器将为之前的this.files调用返回null值,因此访问this.files [0]会引发异常,您应该在使用之前检查File API支持

答案 2 :(得分:0)

您可以使用

获取文件大小
$('input[type=file]').bind('change', function() {
  console.log(this.files[0].size);
});

答案 3 :(得分:0)

我总是建议您查看the jQuery File Upload plugin。它可以轻松访问大量有关上传的信息,包括live upload speeds, bytes uploaded so far, and total upload size