1.下载 jquery-form.js,并引用
2.form表单包含input tyle='file'
<form id="uploadFileForm" name="uploadFileForm" enctype="multipart/form-data" method="post">
--此处input 必须包含name,否则后台会接收不到值
<input type="file" name="file" id="txtfile" onchange="Import(); " value="" />
</form>
3.ajaxSubmit
function Import() {
//因为上传完成后有清空input操作,会导致再次进入该方法,所以需要加判断。如果是空的,就返回;否则会提交2次。
if ($("#txtfile").val() == "")
return false;
$('#uploadFileForm').ajaxSubmit({
url: "/Product/Import",
type: "POST",
data: $('#uploadFileForm').serialize(),
success: function (result) {
//do something...
$("#txtfile").val("");//清空input type='file',为了可以上传同一个文件
}
})
}
4.MVC控制器接收
[HttpPost]
public ActionResult Import()
{
HttpPostedFileBase file = Request.Files[0]; //接收的文件
//do something...
return Content("ok");
}