如何获取输入文件值而不是使用FormData

时间:2014-02-18 18:37:33

标签: javascript jquery html ajax

有人知道如何通过Ajax调用获取<input type="file">值吗?

而不是:

// more...

function uploadFile(event) {
        var file = event.target.files;
        event.stopPropagation();
        event.preventDefault();

        var data = new FormData();

        $.each(
            file,
            function(key, value) {
                data.append(key, value);
            }
        );

        $.ajax({
            url: 'site/upload',
            type: 'POST',
            data: data,
// more...

更改输入文件时调用uploadFile()。 使用 FormData 对象的问题在于它在IE 10中不受支持 - 。

1 个答案:

答案 0 :(得分:5)

  

如何获取输入文件值而不是使用FormData

你做不到。

如果没有FormData,您的唯一选项就是Flash并发布到iframe。

我建议使用FormData,如果它当前可用,否则只需将其提交给iframe或导致整页回发。

或者,您可以使用众多已经为您执行此操作的插件之一。