查看器功能说明与演示

本查看器主要是为了方便大家查看服务器上的日志,这里没有考虑其他安全性问题,比如特定人员登录才能查看,这个需要您们自己去增加;如果你服务器有对外开放了ip,那么运行这个软件的时候建议考虑配置成您们公司内网的ip,这里可以避免一些安全性问题;下面是主要功能:

. 通过可以定义文件配置常用磁盘访问地址

. 查看磁盘目录下的文件夹和文件

. 部分可访问行文件(如:txt,DLL,图片等)可以在浏览器中打开或下载(访问性格式由程序配置)

. 上传多个文件到指定磁盘

. 文件备份(如果上传的文件已经存在,会自动备份到bak文件夹中)

效果gif图片,有点花多多包涵:

效果还可以吧,不妨“推荐”下;

 

磁盘列表功能

首先,要明确的是在NetCore1.1中api已经和大部分能和framwork对应上了(据@善友一篇博客简单介绍说NetCore2.0的api已经能够和framwork持平了),因此这里我们能够直接使用DirectoryInfo,来查看磁盘路径的文件夹和文件,所以就有了查看列表Action的代码:

 1  ///  2         /// 磁盘列表 3         ///  4         /// 磁盘路径 5         ///  6         public IActionResult Index(string path) 7         { 8             Console.WriteLine($"IP:{HttpContext.Connection.RemoteIpAddress}正在查看磁盘:{path}"); 9             var list = new List();10             MoSearch moSerach = new MoSearch { Txt1 = path };11             ViewData["Search"] = moSerach;12 13             if (string.IsNullOrWhiteSpace(path)) { return View(list); }14             if (path.StartsWith("c:", StringComparison.OrdinalIgnoreCase)) { this.MsgBox($"无权限访问:{path}"); return View(list); }15             if (!System.IO.Directory.Exists(path)) { this.MsgBox($"磁盘路径:{path}不存在!"); return View(list); }16             DirectoryInfo dic = new DirectoryInfo(path);17             list = dic.GetFileSystemInfos().OrderByDescending(b => b.LastWriteTime).ToList();18 19             return View(list);20         }

这里我默认限制了C盘,并且采用自带的文件对象FileSystemInfo来返回信息,仅仅只需要一段 dic.GetFileSystemInfos().OrderByDescending(b => b.LastWriteTime).ToList() 就能获取按照最新修改时间得到磁盘目录信息;对应的View布局如下:

  1 @using System.IO  2 @using ShenNiu.LogTool.Extension;  3 @using ShenNiu.LogTool.Controllers  4 @model List  5 @{  6     ViewData["Title"] = "日志搜索";  7   8     var moSearch = ViewData["Search"] as MoSearch;  9 } 10 
 11     

@ViewData["Title"]

 12      13      14          15             磁盘路径 16              17         
 18          19             常用地址 20              21                 @*==请选择== 22                      23                         D:\D\Joke 24                      25                      26                         D盘 27                     *@ 28              29  30         
 31          32              33