如何使这个文件上传jQuery代码在IE8中工作?

时间:2014-02-10 16:06:02

标签: javascript jquery internet-explorer internet-explorer-8 polyfills

我的部分代码:

$("input[name='image']", selector_id).each(function(index) {
    var this_selector = $(this),
        this_file = this_selector[0].files[0], // ERROR LINE
        this_image;

    if (this_file) {
        this_image = new FormData();
        this_image.append('image', this_file);  
        images.push(this_image);
    }
}); 

我正在使用jQuery通过AJAX上传图像,在IE< 10中我得到错误:“无法获取未定义或空引用的属性'0',并且它引用了上面的行”ERROR LINE“。另外,我怀疑FormData在IE< 10。

中也不起作用

如何在IE8-9中完成这项工作?

编辑 - 让我重新解释一下我的问题:我知道其中一些内容在IE< 10中不起作用。使其在IE8中运行的常用解决方法/方法是什么?

1 个答案:

答案 0 :(得分:1)

对于不支持FormData的浏览器,此问题的唯一解决方法是提交到隐藏的iframe,或使用Flash。有很多插件可以为你做这个,或者你可以自己动手,因为它实际上并不难实现(它甚至不需要javascript。)