zoukankan      html  css  js  c++  java
  • 获取IP相关信息和文件上传

    获取IP相关信息

    要获取用户访问者的IP地址相关信息,可以利用依赖注入,获取IHttpConnectionFeature的实例,从该实例上可以获取IP地址的相关信息,实例如下:

    var connection1 = Request.HttpContext.GetFeature<IHttpConnectionFeature>();
    var connection2 = Context.GetFeature<IHttpConnectionFeature>();
    
    var isLocal = connection1.IsLocal;                  //是否本地IP 
    var localIpAddress = connection1.LocalIpAddress;    //本地IP地址
    var localPort = connection1.LocalPort;              //本地IP端口
    var remoteIpAddress = connection1.RemoteIpAddress;  //远程IP地址
    var remotePort = connection1.RemotePort;            //本地IP端口

    类似地,你也可以通过IHttpRequestFeatureIHttpResponseFeatureIHttpClientCertificateFeatureIWebSocketAcceptContext等接口,获取相关的实例,从而使用该实例上的特性,上述接口都在命名空间Microsoft.AspNet.HttpFeature的下面。

    文件上传

    MVC6在文件上传方面,给了新的改进处理,举例如下:

    <form method="post" enctype="multipart/form-data">
        <input type="file" name="files" id="files" multiple />
    <input type="submit" value="submit" />
    </form>

    我们在前端页面定义上述上传表单,在接收可以使用MVC6中的新文件类型IFormFile,实例如下:

    [HttpPost]
    public async Task<IActionResult> Index(IList<IFormFile> files)
    {
        foreach (var file in files)
        {
            var fileName = ContentDispositionHeaderValue
                .Parse(file.ContentDisposition)
                .FileName
                .Trim('"');// beta3版本的bug,FileName返回的字符串包含双引号,如"fileName.ext"
            if (fileName.EndsWith(".txt"))// 只保存txt文件
            {
                var filePath = _hostingEnvironment.ApplicationBasePath + "\wwwroot\"+ fileName;
                await file.SaveAsAsync(filePath);
            }
        }
        return RedirectToAction("Index");// PRG
    }
  • 相关阅读:
    摩拜单车--获地球卫士奖
    项目经理--读书静心的日子
    20165219 Exp1 PC平台逆向破解
    2018-2019-2 20165219《网络对抗技术》Exp0 Kali安装 Week1
    2018-2019-1 20165219《信息安全系统设计基础》实验五
    ### 2018-2019-1 20165219《信息安全系统设计基础》实验四
    实现mypwd
    mybash的实现
    2018-2019-1 20165219 实验三 实时系统
    2018-2019-1 20165219 《信息安全系统设计基础》第七周学习总结
  • 原文地址:https://www.cnblogs.com/zhangxiaolei521/p/5192020.html
Copyright © 2011-2022 走看看