jQuery使用FormData上传文件

时间:2024-11-02 14:37:44

这段时间,一直练习在ASP.NET MVC程序中上传文件。静态,动态,单个或多文件上传。

在网上有看到网友提及使用FormData来上传,Insus.NET觉得是一个很不错的方式。

控制器中,创建两个Action:
jQuery使用FormData上传文件

代码:

 public ActionResult FilejQLoad()
{
return View();
} public ActionResult Uf(HttpPostedFileBase file)
{
if (file.ContentLength > )
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/Temp"), fileName);
file.SaveAs(path);
} return new ContentResult();
}

完成视图:
jQuery使用FormData上传文件

jQuery代码:

$(':button').click(function () {
var formData = new FormData($('form')[0]);
$.ajax({
url: 'Uf',
type: 'POST',
xhr: function () {
return $.ajaxSettings.xhr();
},
success: function (data, textStatus) {
alert("file success uploaded.");
location.reload();
},
data: formData,
cache: false,
contentType: false,
processData: false
});
});

挺简单的:
jQuery使用FormData上传文件