零废话,略去一切合法性验证、健壮性处理,回调函数等内容,只保留必不可少的代码部分。
如要保存的路径是否存在,文件是否同名,文件引用路径等各位自己注意。
1.新建MVC3项目,在项目中新建一个HomeController,然后添加视图,名称为Index.cshtml。
然后在Index.cshtml文件中分别引用jquery(我用的1.7.1),jquery.form.js 和新建的一个js文件,如JavaScript1.js。
自此准备工作做完。
下面开始放入代码。
2.cshtml中代码,除了引用js的几个之外,只需要以下内容即可。
<form id="fileForm" method="post" action="Home/ImageUpLoad" enctype="multipart/form-data" >
<input type="file" name="upImage"/>
<input id="btnUpload" type="button" value="上传" />
</form>
3.在JavaScript1.js中全部内容如下:
$(function() {
//异步上传图片
$("#btnUpload").click(function () {
$('#fileForm').ajaxSubmit();
});
});
3.在HomeController中新增一个保存文件的方法。如下:
//[HttpPost] 可以写上,注释掉也没报错
public string ImageUpLoad()
{
HttpPostedFileBase hp = Request.Files["upImage"];
string uploadPath = Server.MapPath("~/");
string fileName = DateTime.Now.ToLongDateString() + System.IO.Path.GetExtension(hp.FileName);
string saveFile = uploadPath + fileName;
hp.SaveAs(saveFile);
return "success";
}
依次拷贝到相应文件中即可,注意路径等。
Ctrl+F5 即可直接运行,上传的图片将会保存在特定目录下。
亲测可用。