//样式采用bootstrap样式
//前端form表单代码
//着重声明:form表单必须是post方式,
//表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。
//默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.
代码语言:javascript复制<h2>添加图片:</h2>
<form action="/Home/SaveInfo" method="post" enctype="multipart/form-data">
<p>
<label for="file">选择图片:</label>
<input type="file" name="files" class="form-control" id="file"/>
</p>
<p>
<input type="submit" value="保存" class="btn btn-info" />
</p>
</form>
//后台asp.net MVC函数代码
代码语言:javascript复制 /// <summary>
/// 添加图片
/// </summary>
/// <param name="files"></param>
/// <returns></returns>
[HttpPost]
public ActionResult SaveInfo(HttpPostedFileBase files)
{
if (files==null) {//判断是否空提交
Response.Write("<script>alert('请提交jpg/png图片');");
return RedirectToAction("Index");
}
string fileName = files.FileName;//文件名
//获取文件名的后缀,并转为小写
string extension = Path.GetExtension(fileName).ToLower();
if (extension.Equals("jpg")|| extension.Equals("png")) {
Response.Write("<script>alert('请提交jpg/png图片');");
return RedirectToAction("Index");
}
string name = System.Guid.NewGuid().ToString("N");//32位随机数字作为新文件名
string serverPath = Server.MapPath("/images/");//服务器图片存储位置
string saveUrl = serverPath name extension;//文件存储路径 新文件名 后缀
files.SaveAs(saveUrl);//保存图片
return RedirectToAction("Index");
}