源栈培训:ASP.NET MVC:文件处理

更多
2020年02月13日 22点26分 作者:叶飞 修改

上传


输出

FileResult

包括:FilePathResult、FileContentResult、FileStreamResult,但都通过:return File()返回。

其主要用途有:

  • 弹出下载窗口,让用户可以方便的下载文件(演示:略
  • 显示动态生成的图片,比如:验证码
<img id="captcha" src="/Captcha/Get" />
        public ActionResult Get()
        {
            byte[] captcha = MakeCaptcha(out string value);
            Session[CAPTCHA] = value;//注意:不要把图片值放到cookie中!
            return File(captcha, "jpg");
        }
在后台比对用户输入和Session中保存的值:
            if (model.Captcha != Session[CaptchaController.CAPTCHA].ToString())
            {
                ModelState.AddModelError("Captcha", "* 验证码输入错误");
                return View(model);
            }

补充:JavaScript刷新验证码,在src的url后添加url parameter,原理同 RazorPage 中的 ImageTagHelper

<a href="#" onclick="refreshCaptcha()" >刷新</a>
<script>
    function refreshCaptcha() {
        var captcha = document.getElementById("captcha"),
            url = captcha.getAttribute("src"),  //这里需要进一步的完善!
            random = Math.random();
        captcha.setAttribute("src", url + "?version=" + random);
    }
</script>



作业

  • 任何一个页面,
    1. 点击导航栏“登录”,跳转到登录页面;登录后返回之前页面
    2. 点击导航栏“退出登录”,如果当前页面不需要登录,只刷新不跳转,否则跳转到登录页面……
  • 使用PartialView重构页面重构页面右侧的widgets,如:关键字、精品文章、广告、系列文章(文章分类)、排行榜等
  • 实现验证码功能
  • 将验证码使用Partial View进行封装,能在注册/登录/修改密码等页面重用
  • 已学前台同学应完成所有功能,包括但不限于:
    1. 点击输入框才生成验证码
    2. 可以手动刷新验证码
源栈培训 ASP.NET MVC
赞: 7 踩: 0

打赏
已收到打赏的 帮帮币

你的 打赏 非常重要!
为了保证文章的质量,每一篇文章的发布,都已经消耗了作者 1 枚 帮帮币
没有“帮帮币”,作者无法发布新的文章。

全系列阅读
评论 / 0

ASP.NET


RazorPage

微软推荐的、最新的、基于Razor页面和.NET core的新一代Web项目开发技术,包括Razor Tag Helper、Model绑定和Validation、Session/Cookie、内置依赖注入等……

MVC

过去两年间最流行的、基于.NET Framework和MVC模式的ASP.NET MVC框架,主要用于讲解安全、性能、架构和各种实战功能演示……

其他Web项目

包括WebForm和WebApi

全部
关键字



帮助

反馈