我需要使用必须在IE9中支持的ajax来上传文件。我正在使用FormData here。我的代码如下所示:使用在IE9中工作的ajax发送文件/文件上传
var files = new FormData();
JQuery.each($('#file')[0].files, function (i, file) {
files.append('file', file);
});
$.ajax({
type: "POST",
url: '/url',
cache: false,
contentType: false,
processData: false,
data: files,
...
});
这个工作在Safari和Firefox罚款,但随着FORMDATA不支持IE9在IE9失败。我试图通过设置只发送一个文件:
data: $('#file')[0].files[0]
contentType: 'multipart/form-data'
的数据以URL编码的形式发送,并不能在Java方面进行解析,就会失败。任何帮助或指针如何解决这将不胜感激。我需要一些适用于所有浏览器的东西。
编辑:我不需要任何上传进度条,因为文件通常很小。我不需要上传多个文件。我只需要一个文件上传。
2012-11-20
Alice
+1
我在这里找到了一个类似的问题:http://stackoverflow.com/questions/2320069/jquery-ajax-file-upload –
+0
我不能用'',因为根据用户输入,可能会有多个操作。所以我对上传按钮有一个'点击'的动作,它决定了我们从用户那里得到的输入类型,并相应地重定向。我们早些时候确实有过这种情况,并且它正在工作,但现在需求已根据用户输入更改为重定向到不同的网址/功能。 –