在asp.net mvc中的上传-阿里云开发者社区

开发者社区> 技术小甜> 正文

在asp.net mvc中的上传

简介:
+关注继续查看
1.         Model层用一个TestModel
public class TestModel
    {
        [Display(Name = "标题")]
        [Required]
        public string Title
        {
            get;
            set;
        }
        [Display(Name = "内容")]
        [Required]
        [DataType(DataType.MultilineText)]
        public string Content
        {
            get;
            set;
        }
        public string AttachmentPath
        {
            get;
            set;
        }
}
2.         Controller层:
      public class TestController : Controller
    {
        public ActionResult View1()
        {
            return View();
        }
        /// <summary>
        /// 提交方法
        /// </summary>
        /// <param name="tm">模型数据</param>
        /// <param name="file">上传的文件对象,此处的参数名称要与View中的上传标签名称相同</param>
        /// <returns></returns>
        [HttpPost]       
        public ActionResult View1(TestModel tm, HttpPostedFileBase file)
        {
            if (file == null)
            {
                return Content("没有文件!", "text/plain");
            }
            var fileName = Path.Combine(Request.MapPath("~/UploadFiles"), Path.GetFileName(file.FileName));
            try
            {            
                file.SaveAs(fileName);
                tm.AttachmentPath = fileName;//得到全部model信息
                return Content("上传成功!", "text/plain");
            }
            catch
            {
                return Content("上传异常 !", "text/plain");
            }         
        }
}
3.         View层:
@model UploadFile.Models.TestModel
@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>普通上传</title>
</head>
<body>
    @*enctype= "multipart/form-data"是必需有的,否则action接收不到相应的file*@
    @using (Html.BeginForm("View1", "Test", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        @Html.LabelFor(mod => mod.Title)
        <br />
        @Html.EditorFor(mod => mod.Title)
        <br />     <br />
        @Html.LabelFor(mod => mod.Content)
        <br />
        @Html.EditorFor(mod => mod.Content) 
        <br />   
        <span>上传文件</span>
        <br />
        <input type="file" name="file" />
        <br />
        <br />
        <input id="ButtonUpload" type="submit" value="提交" />
    }
</body>
</html>
        <input id="ButtonUpload" type="submit" value="提交" />
    }
</body>
</html>
这个页面是在提交时同时上传文件和提交数据。在action中,先把文件保存在服务器端,然后把服务端的路径赋给TestModel中的AttachmentPath属性,以便后台处……
















本文转自桂素伟51CTO博客,原文链接: http://blog.51cto.com/axzxs/1006264,如需转载请自行联系原作者







版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
你以为的ASP.NET文件上传大小限制是你以为的吗
原文:你以为的ASP.NET文件上传大小限制是你以为的吗 我们以为的文件大小限制 我们大家都知道ASP.NET为我们提供了文件上传服务器控件FileUpload,默认情况下可上传的最大文件为4M,如果要改变可上传文件大小限制,那么我们可以在web.config中的httpRuntime元素中添加maxRequestLength属性设置大小,同时为了支持大文件上传超时可以添加executionTimeout属性设置超时时间。
1067 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
8383 0
asp.net mvc上传头像加剪裁功能
原文:asp.net mvc上传头像加剪裁功能 正好项目用到上传+剪裁功能,发上来便于以后使用。 我不能告诉你们其实是从博客园扒的前台代码,哈哈。 前端是jquery+fineuploader+jquery.
1078 0
Spring MVC 之文件上传(七)
SpringMVC同样使用了apache的文件上传组件。所以需要引入以下包: apache-commons-fileupload.jar apache-commons-io.jar 在springAnnotation-servlet.
556 0
asp.net 解决文件上传大小的限制
1、新建一个文本文件 set providerObj=GetObject("winmgmts:/root/MicrosoftIISv2") set vdirObj=providerObj.
659 0
+关注
10146
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载