zoukankan      html  css  js  c++  java
  • 【操作记录】Asp.Net Core 的一些基本操作或属性

    用于记录在项目中使用到的方法、属性、操作,持续更新中

    .net core 开源地址

    图片上传:

    public async Task<IActionResult> Upload([FromServices]IHostingEnvironment environment)
    {
          var result = new BaseResult();
          string path = string.Empty;
          var files = Request.Form.Files;
          if (files == null || files.Count() <= 0) {
               result.Msg = "请选择上传的文件。";
               return Json(result);
              }
          //格式限制
          var allowType = new string[] { "image/jpg", "image/png" , "image/jpeg" };
          if (files.Any(c => allowType.Contains(c.ContentType)))
          {
              string strpath = Path.Combine("images", DateTime.Now.ToString("MMddHHmmss"));
              path = Path.Combine(environment.WebRootPath, strpath);
              using (var stream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite))
              {
                   await files[0].CopyToAsync(stream);
              }
                 result.Data = strpath;
           }
           else
           {
              result.Msg = "图片格式错误";
           }
       return Json(result);
    }

     ps:获取上传文件信息 可使用  IFormFileCollection 或者 Request.Form.Files来获取。

    .net core 2.0发布后,不把 view 文件编译打包,修改 csproj文件中 PropertyGroup 节点,配置节MvcRazorCompileOnPublish设为false就行

     <PropertyGroup>
        <TargetFramework>netcoreapp2.0</TargetFramework>
        <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
      </PropertyGroup>

    发布如图所示

     Drawing绘制图片,官方包:

    System.Drawing.Common

    静态文件的使用

    在项目中静态文件的使用需要在Startup中的Configure方法中增加:

    //使用静态文件
    app.UseStaticFiles();

    这样就可以访问所有wwwroot目录下的静态文件,但是若想访问Views/Menu/Index.js文件,还需要在Configure方法中增加:

    app.UseStaticFiles(new StaticFileOptions()
    {
        FileProvider = new PhysicalFileProvider(Directory.GetCurrentDirectory())
    });
    //在页面的引用方式
    @section scripts{
        <script src="~/Views/Department/Index.js"></script>
    }

    在mvc中加载其他页面到当前页面:

    @Html.Partial("_Edit")

    @RenderSection 详解:http://www.cnblogs.com/Joetao/articles/4191682.html

    session过期验证:

     /// <summary>
        /// 拦截控制器
        /// </summary>
        public class InterceptController : Controller
        {
            public override void OnActionExecuted(ActionExecutedContext context)
            {
                byte[] result;
                //获取session的值
                context.HttpContext.Session.TryGetValue("UserInfo", out result);
                if (result==null)
                {
                    //重定向到登录页面
                    context.Result = new RedirectResult("/Login");
                }
                base.OnActionExecuted(context);
            }
        }

    模型校验

    使用ModelState.IsValid 属性会检查验证是否失败或成

     [Display(Name "电子邮件")]字段设置显示名称

  • 相关阅读:
    每周总结⑤
    每周总结④——所遇问题
    Leetcode566. 重塑矩阵
    移动应用开发三种方式
    html5离线存储manifest
    拓端tecdat|python中的copula:Frank、Clayton和Gumbel copula模型估计与可视化
    拓端tecdat|R语言用极大似然和梯度下降算法估计GARCH(p)过程
    拓端tecdat|R语言Keras用RNN、双向RNNs递归神经网络、LSTM分析预测温度时间序列、 IMDB电影评分情感
    JAVA中CountDownLatch的简单示例
    网络编程基础篇
  • 原文地址:https://www.cnblogs.com/miskis/p/6109850.html
Copyright © 2011-2022 走看看