我正在尝试使用
实现文件上传(excel文件)Visual Studio 2012,
ASP.NET Web Forms,
jquery,
Web API
Browser: IE 8
我试图关注在线示例,但他们使用的是FormData,但它并不适用于我。
$('#ImportFileBtn').on('click', function () {
var fileName = $('#ImportFileSelection').val();
var data = "<form method='post' enctype='multipart/form-data'><body><input type='file' id='facilityFile' value='"+fileName +"' /></body></form>"
$.ajax({
type: "POST",
url: "api/Import/ProcessImport",
contentType: false,
processData: false,
data: data,
success: function (messages) {
alert('ok');
},
error: function () {
alert("Error while invoking the Web API");
}
});
});
请建议我如何使用上述工具和技术将Excel文件上传到Web API控制器。
谢谢, VIM
答案 0 :(得分:2)
问题是IE8 / 9不了解FormData。您可以使用几个jQuery插件来解决此问题。以下是您可以使用的一些库(不是完整列表):
这不是一个完美的选择,但插件会使一些事情变得更容易。其中一些需要大量额外的代码。如果您只需要这个功能,请选择一个集成到jQuery的ajax方法中的方法(前一段时间已在项目中完成此操作,但无法记住我使用的库的名称)。
<强>更新强>
仅供记录:我使用的库名为jQuery iFrame-Transport,因为我必须支持非常旧版本的IE。
答案 1 :(得分:-2)
Web API用于允许其他应用程序使用其中的数据。你无法在那里上传文件。