欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » ASP.Net » 正文

热门阅读

在MVC中实现简单文件上传功能示例

创建时间:2011年12月08日 16:47  阅读次数:(7555)
分享到:
在MVC中实现文件上传与传统的WebForm上传文件方法都差不多,在aspx页面放一个file标签,然后在
actionname方法中处理用户上传的文件。本章我们以一个最常用的上传图片为例,具体示例如下:

1,aspx页面处理如下:
我们在aspx页面放一个file标签
<table >
<tr >
<td >
说明:只能上传gif图片,网站不限定图片大小,请上传合适大小的图片,如果图片大小过大,会造成网
站变形等问题。
</td >
</tr >
<tr >
<td >
Logo:<input name="uploadpic" type="file" size="80" / >
<input type="submit" value="保存" name="action" / >
<div class="red" >
<%:Html.ValidationMessage("validationLogoError")% ></div >
</td >
</tr >
</table >

<%:Html.ValidationMessage("validationLogoError")% >用来显示服务器返回的错误。

Controller的actionname方法如下:
public ActionResult Logo()
{
//判断Request中是否有接收Files文件
if (Request.Files.Count != 0)
{
//HttpPostedFileBase类,提供对用户上载的单独文件的访问
//获取到用户上传的文件
HttpPostedFileBase file = Request.Files[0];
//获取用户上传文件的后缀名
string Extension = Path.GetExtension(file.FileName);
//重新命名文件
string newFileName = "logo" + Extension;

//判断图片后缀是不是为jpg,如果不是,返回错误,如果是,利用file.SaveAs保存图片。注意在保存
图片时,要使用Server.MapPath取到虚拟路径所对应的物料路径
if (!Extension.Equals(".jpg"))
{
ModelState.AddModelError("validationLogoError", "只能上传jpeg类型图片");
}
else
{
file.SaveAs(Path.Combine(Server.MapPath("/Content/Logo/"), newFileName));
}
}
return View();
}


简单的几句代码就实现了文件的上传功能,是不是很简单呢?
该demos展示的功能很少,仅是实现了文件的上传,未对文件的大小等做限制,希望能对大家有所帮助。纾?a href="http://www.lmwlove.com/ac/ID647" target="_blank" class="content_href">利用DataView快速查询DataTable中不重复的行等,所以,小编建议大家应该好好研究一下DataView。
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 10+20=? 的结果(结果是:30)
结  果: