asp.net mvc5 与图片

本文介绍了一种使用ASP.NET MVC实现图片上传的方法,包括前端表单提交、后端接收及处理图片,并通过Session传递图片路径到另一页面进行展示。
【第一种方式】  HttpPostedFileBase file


1、前端POST方式提交表单
@using (Html.BeginForm("Upload", "Test", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        <input type="file" name="file" />
        <br />
        <input id="ButtonUpload" type="submit" value="提交" />
    }


2、后台[HttpPost]接收


[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
      var fileName = Path.Combine(Request.MapPath("~/Upload"), Path.GetFileName(file.FileName));
      file.SaveAs(fileName);  //保存到这个路径
      string src = "../Upload/" + Path.GetFileName(file.FileName);
      Session["src"] = src;   //跨页面传值
      Session.Timeout = 10;
      return RedirectToAction("Show");
      //Request.MapPath("~/Upload")|C:\Users\Administrator\Documents\Visual Studio 2015\Projects\ImageUpload\ImageUpload\Upload
      //Path.GetFileName(file.FileName)|c.jpg
      //fileName|C:\Users\Administrator\Documents\Visual Studio 2015\Projects\ImageUpload\ImageUpload\Upload\c.jpg
}


3、后台保存之后通过另一个页面显示
public ActionResult Show(string src)
{
     ViewBag.src = Session["src"];
     return View();
}


<img src=@Session["src"] alt="img" />  //或者用ViewBag.src




【第二种方式】ajax


图片在前台转换成流,通过ajax发送到后台,后台接收保存,或者先处理图片再保存【第一种方式】  HttpPostedFileBase file


1、前端POST方式提交表单
@using (Html.BeginForm("Upload", "Test", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        <input type="file" name="file" />
        <br />
        <input id="ButtonUpload" type="submit" value="提交" />
    }


2、后台[HttpPost]接收


[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
      var fileName = Path.Combine(Request.MapPath("~/Upload"), Path.GetFileName(file.FileName));
      file.SaveAs(fileName);  //保存到这个路径
      string src = "../Upload/" + Path.GetFileName(file.FileName);
      Session["src"] = src;   //跨页面传值
      Session.Timeout = 10;
      return RedirectToAction("Show");
      //Request.MapPath("~/Upload")|C:\Users\Administrator\Documents\Visual Studio 2015\Projects\ImageUpload\ImageUpload\Upload
      //Path.GetFileName(file.FileName)|c.jpg
      //fileName|C:\Users\Administrator\Documents\Visual Studio 2015\Projects\ImageUpload\ImageUpload\Upload\c.jpg
}


3、后台保存之后通过另一个页面显示
public ActionResult Show(string src)
{
     ViewBag.src = Session["src"];
     return View();
}


<img src=@Session["src"] alt="img" />  //或者用ViewBag.src




【第二种方式】ajax


图片在前台转换成流,通过ajax发送到后台,后台接收保存,或者先处理图片再保存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值