如何在IE中获取文件输入更改

时间:2013-06-03 15:31:48

标签: javascript jquery html internet-explorer

我需要在加载时获取一个文件来输入。 此代码适用于chrome,opera和firefox,但不适用于IE:

$("input:file").change(function ()
{
  // Get a reference to the fileList
  var files = !!this.files ? this.files : [];
  // If no files were selected, or no FileReader support, return
  if ( !files.length || !window.FileReader ) return;
  // Only proceed if the selected file is an text
  if ( /^text/.test( files[0].type ) ) 
  {
    var reader = new FileReader();
    reader.readAsText( files[0] );
    reader.onloadend = function()
    {
      restoreCSS(this.result);
    }
  }
}

在IE !!this.files中返回false。谢谢你的进步。

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的IE? FileReader isn't supported in IE until version 10

正如@apsillers评论的那样,有another question asking about how to imitate FileReader support in browsers that don't support it。我相信它们都需要某种插件(Flash / Silverlight),就像FileReader API之前一样,JavaScript没有对文件系统的任何访问权。