如何在IE9中获取文件

How to get files in IE9

我必须通过 AJax 请求在服务器上上传文件。 我已经创建了该功能并且它在 IE 10、11 上工作但不幸的是它现在在 IE9 上工作。 var file = inputTypeElmnt; file.files[0];

IE 9 不支持

file.files。 有什么替代方案。

有一个涉及使用隐藏 iframe 的解决方案,基本上您将表单的目标设置为 iframe 然后提交表单。

var form = document.querySelector('#test');
form.addEventListener('change', change);
function change(event){
  var iframe = document.createElement('iframe');
  iframe.name = 'iframex';
  form.target = iframe.name;
    iframe.style.width = 0;
    iframe.style.height = 0;
    document.body.appendChild(iframe);
  iframe.addEventListener('load', load);
  form.submit();
}
function load(event){
  alert(this.contentWindow.document.body.textContent);  
}

http://jsfiddle.net/mowglisanu/memc6qnq/1

或者你可以只使用类似 https://github.com/blueimp/jQuery-File-Upload 的东西(这可能会做同样的事情)