【发布时间】:2015-07-05 06:27:18
【问题描述】:
伙计们,我正在尝试在不使用表单的情况下将文件从视图加载到控制器,而在浏览文件时,应该使用 Ajax 将文件加载到控制器,这可能吗?
<td>Import Excell file:</td>
<td><input type="file" id="fileUpload" name="fileUpload" /></td>
$('#fileUpload').die().live("change", function (e) {
e.preventDefault();
var file_name = $("#fileUpload").val();
var fileName = $("#fileUpload").val();
var fileExtension = fileName.substring(fileName.lastIndexOf('.') + 1);
var file_data = $("#fileUpload").prop("files")[0];
var form_data = new FormData();
form_data.append("file", file_data);
alert("hahaha");
$.ajax({
type: 'POST',
url: '@Url.Action("ImportExcell","Uploadfile")',
data: form_data,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (response) {
alert(response);
}
});
});
【问题讨论】:
-
可以使用
FormData,但是这个解决方案可能无法在IE9等一些旧版本的浏览器中运行。如果你只针对新的浏览器,我可以给你解决方案。
标签: javascript jquery ajax file asp.net-mvc-4