MVC中的下载文件及上传

前言:最近做的项目中用到了文件下载与上传,一下子想不起来,只能进行百度,为了方便自己做了一个小demo,特此写了这篇小笔记

1.页面方面:

2.控制器方面

namespace MvcUpload.Controllers
{
    public class UploadOrDownLoadController : Controller
    {
        // GET: UploadOrDownLoad
        public ActionResult Upload() => View();//上传文件
        public ActionResult DownLoad() => View();
        [HttpPost]
        public ActionResult Upload(FormCollection from)
        {
            if (Request.Files.Count == 0)
                return View();

            var file = Request.Files[0];

            if (file.ContentLength == 0)
            {
                return View();
            }
            else
            {
                //文件大小不为0时
                string target = Server.MapPath("/") + "Learn/";
                string filename = file.FileName;
                string path = target + filename;
                file.SaveAs(path);
            }
            return View();
        }

        [HttpPost]
        public ActionResult DownLoad(string filename)
        {

            string filepath = Server.MapPath("/") + "Learn/" + filename;
            FileStream file = new FileStream(filepath, FileMode.Open);
            return File(file, "text/plain", filename);
        }
    }
}

3.视图方面

@{
    Layout = null;
}


@using (Html.BeginForm("Upload", "UploadOrDownLoad", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <text>选择上传文件:</text><input name="file" type="file" id="file" />
    <br />
    <br />
    <input type="submit" name="Upload" value="Upload" />
}
<form method="post" action="DownLoad?filename=aa.jpg">
    <input type="submit" name="Demo" value="下载" />
</form>

  后续将会更新如何通过a标签post请求控制器.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值