zoukankan      html  css  js  c++  java
  • MVC4 图片上传

    新增

    new { enctype = "multipart/form-data" } 这个必须要有
    @using (Html.BeginForm(Html.BeginForm("Create", "UserInfo", FormMethod.Post, new { enctype = "multipart/form-data" })))
    {
    
    <div class="editor-label">
    <span>图片</span>
    </div>
    <div class="editor-field">
    <input type="file" name="filImgs"/>
    @* <input type="hidden" name="ImgUrl" value="@Model.img"/>*@
    
    </div>
    <p>
    <input type="submit" value="上传" />
    </p>
    
    }
    
     
    

      

    [HttpPost]
    public ActionResult Create(UserInfo userinfo)
    {
    var file = Request.Files[0];
    
    var img = //处理图片
    
    userinfo.img = img;
    
    
    try
    {
    if (ModelState.IsValid)
    {
    db.userinfo.Add(userinfo);
    db.SaveChanges();
    return RedirectToAction("Index");
    }
    else
    {
    throw new Exception();
    
    }
    }
    catch (Exception)
    {
    
    return View("Create"); 
    }
    
    }
    
     
    

      

    编辑

    new { enctype = "multipart/form-data" } 这个必须要有
    @using (Html.BeginForm(Html.BeginForm("edit", "UserInfo", FormMethod.Post, new { enctype = "multipart/form-data" })))
    {
    
    <div class="editor-label">
    <span>图片</span>
    </div>
    <div class="editor-field">
    <input type="file" name="filImgs"/>
    @* <input type="hidden" name="ImgUrl" value="@Model.img"/>*@
    
    </div>
    <p>
    <input type="submit" value="修改" />
    </p>
    
    }
    [HttpPost]
    public ActionResult Edit(int id,UserInfo user)
    {
    
    var userinfo = db.userinfo.Find(id);
    //ModelState.IsValid,此处相当于后台验证,防止前台验证因为各种情况被跳过或失效
    try
    {
    bool updateRes = TryUpdateModel(userinfo);//如果字段符合则会赋值,否则保持原有
    
    if (updateRes)
    {
    //图片
    var file = Request.Files[0];
    var img =// 图片处理
    if (img.Length>0)
    {
    userinfo.img = img;
    }
    
    db.SaveChanges();
    return RedirectToAction("Index");
    }
    else
    {
    
    ModelState.AddModelError("", "更新失败!");
    return View(userinfo);
    }
    
    }
    catch (Exception)
    {
    
    return View(userinfo);
    }
    
    
    }
  • 相关阅读:
    8.17HTML 标签
    二进制,八进制,十六进制
    keil5之32环境配置
    初遇stm32
    python与opencv的结合之人脸识别值
    01_什么是数据结构以及C语言指针回顾
    07_SSH免登录配置
    06_Linux系统常用命令
    05_Linux网络配置及CRT远程
    04_VMware虚拟机网络配置
  • 原文地址:https://www.cnblogs.com/zhang9418hn/p/3173445.html
Copyright © 2011-2022 走看看