MVC3 上传文件

简介:

注意:红色部分必须添加 

前台:

@{
    ViewBag.Title = AutoUpdater.Profile.title + " - 上传升级文件";
}
@model AutoUpdater.Models.UploadFileModel
<h2>上传升级文件</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@Html.ValidationSummary(true)
<div class="validation-summary-errors">@ViewBag.ErrorMessage</div><br />
@using (Html.BeginForm("UploadFile", "Operations", FormMethod.Post,  new { enctype = "multipart/form-data" }))
{
    <div>
        <fieldset>
            <legend>升级文件信息</legend>
            <div class="editor-label">
                @Html.LabelFor(m => m.Version)
            </div>
            <div class="editor-field">
                @Html.TextBoxFor(m => m.Version)
                @Html.ValidationMessageFor(m => m.Version)
            </div>
            <div class="editor-label">
                @Html.LabelFor(m => m.UFile)
            </div>
            <div class="editor-field">                
                <input type="file" id="upfile" name="upfile" />                
            </div>
                      
            <p>
                <input type="submit" value="上 传" />
            </p>
        </fieldset>
    </div>
}

 后天:

[AcceptVerbs(HttpVerbs.Post)]
        public ActionResult UploadFile(FormCollection collection, UploadFileModel model)
        {
            if (Session["UserID"] == null)
            {
                ViewBag.ErrorMessage = "请先登录!";
                return View();
            }
            if (Request.Files.Count == 0)
            {
                ViewBag.ErrorMessage = "请选择上传的升级文件!";
                return View();
            }
            var fileVersion = Request.Files[0];
            if (fileVersion == null || (fileVersion != null && fileVersion.ContentLength == 0))
            {
                ViewBag.ErrorMessage = "请选择上传的升级文件!";
                return View();
            }
            if (fileVersion != null && fileVersion.ContentLength > 0)
            {
                if (fileVersion.ContentLength < Profile.minLen || fileVersion.ContentLength > Profile.maxLen)
                {
                    ViewBag.ErrorMessage = string.Format("上传的升级文件必须介于{0}K-{1}K之间!", Profile.minLen / 1024, Profile.maxLen / 1024);
                    return View();
                }
                using (var db = new LogDB(Profile.dbpath))
                {
                    if (db.ExistVersion(model.Version.ToUpper()))
                    {
                        ViewBag.ErrorMessage = "已经存在相同版本号的升级文件!";
                        return View();
                    }
                }
                string suffix = Path.GetExtension(fileVersion.FileName).ToLower();
                string fileName = string.Format("{0}{1}", model.Version.ToUpper(), suffix);
                fileVersion.SaveAs(Path.Combine(Profile.filepath, fileName));
                using (var db = new LogDB(Profile.dbpath))
                {
                    db.Write(fileName, Session["UserID"].ToString(), fileVersion.ContentLength, model.Version.ToUpper());
                }
                return RedirectToAction("FileList", "Operations");
            }
            return View();

        } 




本文转自94cool博客园博客,原文链接http://www.cnblogs.com/94cool/archive/2012/11/02/2750672.html,如需转载请自行联系原作者

相关文章
|
8月前
|
JavaScript 前端开发 Java
jquery ajax+spring mvc上传文件
jquery ajax+spring mvc上传文件
|
移动开发 前端开发 JavaScript
Spring MVC-09循序渐进之文件上传(基于Servlet3.0+Html5客户端上传文件)
Spring MVC-09循序渐进之文件上传(基于Servlet3.0+Html5客户端上传文件)
79 0
|
Web App开发 前端开发 JavaScript
MVC 上传文件并展示
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来。    十年河东十年河西,莫欺少年穷    学无止境,精益求精    最近在做自学MVC,遇到的问题很多,索性一点点总结下。
973 0
|
前端开发 Java Spring
|
前端开发 Java Spring
Spring MVC 上传文件(upload files)
上传功能是一个web应用很常用的一个功能,比如在一些社交网站上传些图片、视频等。本篇文章主要研究了spring mvc是如何实现文件上传功能的,在具体讲解spring mvc如何实现处理文件上传之前,必须弄明白与文件上传相关的multipart请求。 一、关于multipart 请求 我们传统的表单提交的一般都是文本类型的数据,比如我们的注册表单,当提交表单时,表单中
6438 0
|
Web App开发 前端开发 .NET
返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作
原文:返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .
1518 0