文件管理页面

文件管理页面,主要运用了jsTree以及bootstrap搭建页面。

效果展示

页面

 时间查询

 文件名查询

​​​​​​​

 

首先是我们的文件引用方面

<link href="../css/base.css?i=12" rel="stylesheet" />
    <link href="../css/zTreeBootstrapStyle.css" rel="stylesheet" />
    <link rel="shortcut icon" href="favicon.ico" />
    <link href="../css/bootstrap.min.css?v=3.3.6" rel="stylesheet" />

    <link href="../css/font-awesome.css?v=4.4.0" rel="stylesheet" />
    <link href="../js/plugins/fancybox/jquery.fancybox.css" rel="stylesheet" />
    <link href="../css/animate.css" rel="stylesheet" />
    <link href="../css/style.css?v=4.1.1" rel="stylesheet" />
    <link href="../css/plugins/jsTree/style.min.css" rel="stylesheet" />
    <link href="../js/plugins/ztree/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" />
    <link href="../css/layui/css/layui.css" rel="stylesheet" />
    <link href="../css/layui/css/modules/layer/default/layer.css?v=4.1.1" rel="stylesheet" />

    <script src="../js/jquery.min.js" type="text/javascript"></script>
    <script src="../css/layui/layui.js"></script>
    <script src="../css/layui/lay/modules/jquery.js"></script>
    <script src="../js/plugins/layer/laydate/laydate.js"></script>
    <script src="../js/common.js" type="text/javascript"></script>
    <script src="../js/plugins/layer/layer.min.js" type="text/javascript"></script>

    <script src="../js/plugins/ztree/js/jquery.ztree.core.js" type="text/javascript"></script>
    <script src="../js/plugins/ztree/js/jquery.ztree.excheck.js" type="text/javascript"></script>

    <!-- 全局js -->
    <script src="../js/jquery.min.js?v=2.1.4"></script>
    <script src="../js/bootstrap.min.js?v=3.3.6"></script>


    <script src="../js/plugins/peity/jquery.peity.min.js"></script>
    <script src="../js/plugins/fancybox/jquery.fancybox.js"></script>
    <!-- 自定义js -->
    <script src="../js/content.js?v=1.0.0"></script>
    <script src="../js/plugins/jsTree/jstree.min.js"></script>

然后后是页面上的添加的一些css样式

<style>
        .file {
            width: 175px;
            height: 175px;
        }

        li {
            margin: 10px;
        }

        #mydiv {
            position: relative;
            overflow-x: hidden;
            overflow-y: scroll;
            width: 100%;
            height: 806px;
        }

            #mydiv::-webkit-scrollbar-thumb { /*滚动条里面小方块*/
                border-radius: 10px;
                -webkit-box-shadow: inset 0 0 5px rgb(255, 255, 255);
                background-color: rgba(0,0,0,0)
            }

        * {
            touch-action: pan-y;
        }
        .file-name {
            width: 175px;
            text-overflow: ellipsis;
            white-space: nowrap;
            overflow: hidden;
        }

        .fancybox img {
            margin-bottom: 5px;
            width: 100%;
        }

        .jstree-open > .jstree-anchor > .fa-folder:before {
            content: "\f07c";
        }

        .jstree-default .jstree-icon.none {
            width: 0;
        }

        .laydate-icon {
            background-image: url() !important;
        }
    </style>

页面HTML代码

<body class="gray-bg">
<div class="wrapper wrapper-content">
        <form class="form-horizontal" runat="server" id="form1">
            <div class="row">
                <div class="col-sm-3">
                    <div class="ibox float-e-margins">
                        <div class="ibox-content">
                            <div class="file-manager">
                                <h1>文件管理</h1>
                                <div class="hr-line-dashed"></div>
                                <button type="button" class="layui-btn btn btn-primary btn-block" style="width: 175px; margin-left: 25%" id="fileUpload"><i class="layui-icon"></i>上传文件</button>
                                <div class="hr-line-dashed"></div>
                                <button type="button" class="btn btn-primary btn-block" style="width: 175px; margin-left: 25%" id="Createfolder">创建文件夹</button>
                                <div class="hr-line-dashed"></div>
                                <h5>文件夹:</h5>
                                <div id="fielTree">
                                </div>
                                <h5 class="tag-title">文件类型:</h5>
                                <ul class="tag-list" style="padding: 0">
                                    <li><a href="javascript:void(0);" onclick="FindFiles('all')">所有文件</a>
                                    </li>
                                    <li><a href="javascript:void(0);" style="color: skyblue" onclick="FindFiles('Img')">图片文件</a>
                                    </li>
                                    <li><a href="javascript:void(0);" style="color: indianred" onclick="FindFiles('Txt')">文本文档</a>
                                    </li>
                                    <li><a href="javascript:void(0);" style="color: darkorchid" onclick="FindFiles('Excel')">表格文件</a>
                                    </li>
                                    <li><a href="javascript:void(0);" style="color: orangered" onclick="FindFiles('Vdio')">视屏文件</a>
                                    </li>
                                    <li><a href="javascript:void(0);" style="color: cornflowerblue" onclick="FindFiles('Music')">音乐文件</a>
                                    </li>
                                </ul>
                                <div class="clearfix"></div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="col-sm-9 animated fadeInRight">
                    <div class="row">
                        <div class="form-group">
                            <div class="row"></div>
                            <label class="col-sm-1 control-label" style="left: 0px; width: 100px; text-align: center"><i style="color: red"></i>创建时间:</label>
                            <div class="col-sm-1" style="width: 235px; position: absolute; left: 65px">
                                <asp:TextBox ID="txtCreationTime" runat="server" class="form-control col-sm-5" placeholder="请选择创建时间"></asp:TextBox>
                            </div>
                            <label class="col-sm-1 control-label" style="position: absolute; left: 275px; width: 100px; text-align: center">文件名:</label>
                            <div class="col-sm-1" style="width: 185px; position: absolute; left: 340px">
                                <asp:TextBox ID="txtFileName" runat="server" class="form-control" placeholder="请输入文件名"></asp:TextBox>
                            </div>
                            <span class="input-group-btn col-sm-1" style="position: absolute; left: 520px; width: 100px; text-align: center">
                                <button type="button" class="btn btn btn-primary" onclick="searchData()"><i class="fa fa-search"></i>搜索</button>
                                &nbsp;
                                        <button type="button" class="btn btn btn-info" onclick="clearSearch()"><i class="fa fa-remove"></i>清空</button>
                                &nbsp;
                                       <button type="button" id="loading-example-btn" class="btn btn-white btn-sm" onclick="window.location.reload()"><i class="fa fa-refresh"></i>刷新</button>
                            </span>
                        </div>
                        <div id="mydiv" class="full-height-scroll">
                            <div class="tab-pane active" id="tab-1">
                                <div class="feed-activity-list">
                                    <div class="col-sm-12" id="file">
                                        <%=filesHtml %>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <asp:HiddenField ID="hidFolderName" Value="" runat="server" />
            <asp:HiddenField ID="hidCreateFoleder" Value="" runat="server" />
        </form>
    </div>
</body>

js代码

<script type="text/javascript">
        //实例化树状节点
        var tree = $('#fielTree').jstree({
            'core': {
                "check_callback": true,
                'data': <%=folderHtml%>,
            }
        }).on('loaded.jstree', function (e, data) {
            $('#fielTree').jstree().open_all();
        });
        //上传文件
        layui.use(['upload', 'element', 'layer', 'laydate'], function () {
            var $ = layui.jquery
                , upload = layui.upload
                , element = layui.element
                , laydate = layui.laydate
                , layer = layui.layer;
            upload.render({
                elem: '#fileUpload'
                , url: 'FilesManage.aspx?method=file' //此处配置你自己的上传接口即可
                , accept: 'file' //普通文件
                , data: { "FolderName": $("#hidFolderName").val() }
                //, exts: 'docx|doc|txt' //只允许上传文本文件
                , done: function (res) {
                    layer.msg('上传成功');
                    $("#file").html("");
                    $("#file").html(res.data);
                    if (!IsNullOrEmptyJs(res.folderHtml)) {
                        //重新设置树状文件夹数据
                        tree.jstree(true).settings.core.data = JSON.parse(data.data);
                        tree.jstree(true).refresh();//重新加载树状图
                        //设置树状图节点默认展开
                        tree.on('loaded.jstree', function (e, data) {
                             $('#fielTree').jstree().open_all();
                        });
                    }
                }, before: function (obj) {
                    var folderName = $("#hidFolderName").val();
                    this.data.FolderName = folderName;//最主要还是这条 
                }
            });
            //日期范围
            laydate.render({
                elem: '#txtCreationTime'
                , range: '至'
            });
        });
        //创建文件夹方法
        $(function () {
            $("#Createfolder").click(function () {
                layer.prompt({
                    title: '请输入要创建的文件夹的名字!',
                }, function (value, index, elem) {
                    $("#hidCreateFoleder").val(value); //得到value
                    //console.log($("#hidCreateFoleder").val());
                    layer.close(index);
                    $.ajax({
                        type: "POST",
                        dataType: "json",
                        url: 'FilesManage.aspx?method=create' + '&createName=' + $("#hidCreateFoleder").val() + '&FolderName=' + $("#hidFolderName").val(),
                        success: function (data) {
                            if (data.code === "0") {
                                layer.msg(data.msg, { icon: 2 });
                            } else if (data.code === "-1") {
                                layer.msg(data.msg, { icon: 2 });
                            }
                            else {
                                //重新设置树状文件夹数据
                                tree.jstree(true).settings.core.data = JSON.parse(data.data);
                                tree.jstree(true).refresh();//重新加载树状图
                                //设置树状图节点默认展开
                                tree.on('loaded.jstree', function (e, data) {
                                    $('#fielTree').jstree().open_all();
                                });
                                layer.msg(data.msg, { icon: 1 });
                            }
                        }
                    });
                });
            });
        });
        $(document).ready(function () {
            $('.file-box').each(function () {
                animationHover(this, 'pulse');
            });
        });
        //查询方法
        function searchData() {
            $.ajax({
                type: "POST",
                dataType: "text",
                data: { txtCreationTime: $("#txtCreationTime").val(), txtFileName: $("#txtFileName").val() },
                url: 'FilesManage.aspx?method=srechData',
                success: function (data) {
                    if (data === "") {
                        $("#file").html("");
                        $("#file").html("<div>没有此类文件!<div>");
                    } else {
                        $("#file").html("");
                        $("#file").html(data);
                    }
                }
            });
        }
        //清空查询
        function clearSearch() {
            $("#txtCreationTime").val("");
            $("#txtFileName").val("");
            //调用查询方法
            searchData();
        }
        //获取指定类型的文件方法,参数为类型名字
        function FindFiles(Type) {
            if (Type == "all") {
                $("#txtCreationTime").val("");
                $("#txtFileName").val("");
            }
            $.ajax({
                type: "POST",
                dataType: "text",
                url: 'FilesManage.aspx?method=find' + '&type=' + Type,
                success: function (data) {
                    if (data === "") {
                        $("#file").html("");
                        $("#file").html("<div>没有此类文件!<div>");
                    } else {
                        $("#file").html("");
                        $("#file").html(data);
                    }
                }
            });
        };
        //获取指定文件夹下面的文件,参数为文件相对路径
        function FindFilesByFolder(Foldername) {
            $("#hidFolderName").val(Foldername);
            $.ajax({
                type: "POST",
                dataType: "text",
                url: 'FilesManage.aspx?method=findFolder' + '&foldername=' + Foldername,
                success: function (data) {
                    if (data === "") {
                        $("#file").html("");
                        $("#file").html("<div>此文件夹下面没有文件!<div>");
                    } else {
                        $("#file").html("");
                        $("#file").html(data);
                    }
                }
            });
        }
    </script>
    <script>
        //设置图片为默认样式显示
        $(document).ready(function () {
            $('.fancybox').fancybox({
                openEffect: 'none',
                closeEffect: 'none'
            });
        });
    </script>

后台代码

public partial class FilesManage : ManagePage
    {
        protected string folderHtml = "";
        protected static string filesHtml = "";
        protected static string ImgHtml = "";
        protected static string txtHtml = "";
        protected static string excelHtml = "";
        protected static string vdioHtml = "";
        protected static string musicHtml = "";
        protected void Page_Load(object sender, EventArgs e)
        {
            //if (IsPostBack)
            //    return;
            HttpContext.Current.Response.ContentType = "text/html";
            JObject responseObj = new JObject();
            string method = PublicFunction.GetQueryString("method");
   
            var responseText = string.Empty;
            switch (method)
            {
                case "create":
                    JObject responseObjCreate = new JObject();
                    var responseTextCreate = string.Empty;
                    string createName = PublicFunction.GetQueryString("createName");
                    //string tempfolderName = PublicFunction.GetQueryString("FolderName");
                    if (string.IsNullOrEmpty(createName))
                    {
                        responseObjCreate.Add("code", "0");
                        responseObjCreate.Add("msg", "要创建的文件夹不能为空!");
                        responseObjCreate.Add("data", "");
                        responseTextCreate = JsonConvert.SerializeObject(responseObj);
                        Response.Write(responseTextCreate);
                        Response.End();
                        return;
                    }
                    string path = Server.MapPath("/UploadFiles");
                    if (!Directory.Exists(path+"\\"+createName))
                    {
                        folderHtml = "";
                        Directory.CreateDirectory(path+"\\" + createName);
                        folderHtml = GetFolderHtml(path);
                        responseObjCreate.Add("code", "1");
                        responseObjCreate.Add("msg", "创建成功!");
                        responseObjCreate.Add("data", folderHtml);
                        responseTextCreate = JsonConvert.SerializeObject(responseObjCreate);
                        Response.Write(responseTextCreate);
                        Response.End();
                    }
                    else
                    {
                        responseObjCreate.Add("code", "-1");
                        responseObjCreate.Add("msg", "已有该文件夹,请更换文件夹名字!");
                        responseObjCreate.Add("data", "");
                        responseTextCreate = JsonConvert.SerializeObject(responseObjCreate);
                        Response.Write(responseTextCreate);
                        Response.End();
                    }
                    break;
                case "file":
                    string folderNamePost = PublicFunction.GetForm("folderName");
                    string tempfolderHtml = "";
                    if (HttpContext.Current.Request.Files.Count == 0)
                    {
                        HttpContext.Current.Response.Write("上传文件为空!");
                    }
                    else
                    {
                        HttpPostedFile hpf = HttpContext.Current.Request.Files[0];//HttpPostedFile提供对客户端已上载的单独文件的访问
                        string[] arr = hpf.FileName.Split('.');
                        string FileName = hpf.FileName;
                        if (string.IsNullOrEmpty(folderNamePost))
                        {
                            folderNamePost = "共享文件夹";
                        }
                        string folderAddress = HttpContext.Current.Server.MapPath("/UploadFiles/" + folderNamePost);
                        if (!Directory.Exists(folderAddress))
                        {
                            DirectoryInfo directoryInfo = new DirectoryInfo(folderAddress);
                            directoryInfo.Create();
                        }
                        else
                        {
                            if (folderNamePost.IndexOf("/")==-1)
                            {
                                string saveFolderAddress = HttpContext.Current.Server.MapPath("/UploadFiles/" + folderNamePost + "/" + DateTime.Now.ToString("yyyyMMdd"));
                                if (!Directory.Exists(saveFolderAddress))
                                {
                                    DirectoryInfo directoryInfo = new DirectoryInfo(saveFolderAddress);
                                    directoryInfo.Create();
                                    string tempPath = Server.MapPath("/UploadFiles");
                                    folderNamePost = folderNamePost + "/" + DateTime.Now.ToString("yyyyMMdd");
                                    tempfolderHtml = GetFolderHtml(tempPath);
                                }
                            }
                        }
                        string savepath = HttpContext.Current.Server.MapPath("/UploadFiles/" + folderNamePost + "/" + FileName);//路径,相对于服务器当前的路径
                        hpf.SaveAs(savepath);//保存
                        loaFolderFiles(folderNamePost);
                        responseObj.Add("code", "1");
                        responseObj.Add("msg", "上传成功!");
                        responseObj.Add("data", filesHtml);
                        responseObj.Add("fileName", FileName);
                        responseObj.Add("folderHtml", tempfolderHtml);
                        responseText = JsonConvert.SerializeObject(responseObj);
                        HttpContext.Current.Response.Write(responseText);
                        HttpContext.Current.Response.End();
                    }
                    break;
                case "find":
                    string type = PublicFunction.GetQueryString("type");
                    if (type == "all")
                    {
                        loadFiles();
                        Response.Write(filesHtml);
                        Response.End();
                    }
                    else if (type == "Img")
                    {
                        filesHtml = ImgHtml;
                        Response.Write(filesHtml);
                        Response.End();
                    }
                    else if (type == "Txt")
                    {
                        filesHtml = txtHtml;
                        Response.Write(filesHtml);
                        Response.End();
                    }
                    else if (type == "Music")
                    {
                        filesHtml = musicHtml;
                        Response.Write(filesHtml);
                        Response.End();
                    }
                    else if (type == "Vdio")
                    {
                        filesHtml = vdioHtml;
                        Response.Write(filesHtml);
                        Response.End();
                    }
                    else if (type == "Excel")
                    {
                        filesHtml = excelHtml;
                        Response.Write(filesHtml);
                        Response.End();
                    }
                    else
                    {
                        loadFiles();
                        Response.Write(filesHtml);
                        Response.End();
                    }
                    Response.Write("");
                    Response.End();
                    break;
                case "findFolder":
                    string folderName = PublicFunction.GetQueryString("foldername");
                    loaFolderFiles(folderName);
                    Response.Write(filesHtml);
                    Response.End();
                    break;
                case "srechData":
                    string result = srechData();
                    Response.Write(result == "ok" ? filesHtml : result);
                    Response.End();
                    break;
                default:
                    loadFiles();
                    break;
            }
        }
        /// <summary>
        /// 查询数据
        /// </summary>
        public string srechData()
        {
            try
            {
                string txtCreationTime = PublicFunction.GetForm("txtCreationTime");
                string txtFileName = PublicFunction.GetForm("txtFileName");
                string path = Server.MapPath("/UploadFiles");
                filesHtml = "";
                excelHtml = "";
                ImgHtml = "";
                vdioHtml = "";
                txtHtml = "";
                musicHtml = "";
                DirectoryInfo dir = new DirectoryInfo(path);
                DirectoryInfo[] folders = dir.GetDirectories();
                string[] folderPath = new string[folders.Length];
                int leng = 0;
                foreach (DirectoryInfo item in folders)
                {
                    folderPath[leng] = path + @"\" + item.Name;
                    leng++;
                }
                //获得文件夹下的所有文件
                List<FileInfo> fileInfos = getAllFolderPathFiles(folderPath);
                if (!string.IsNullOrEmpty(txtCreationTime))
                {
                    var CreationTimeList = txtCreationTime.Split('至');
                    DateTime StartTime = Convert.ToDateTime(CreationTimeList[0]);
                    DateTime EndTime = Convert.ToDateTime(CreationTimeList[1]);
                    fileInfos = fileInfos.Where(x =>
                    {
                        if (x.CreationTime > StartTime && x.CreationTime < EndTime)
                        {
                            return true;
                        }
                        else
                        {
                            return false;
                        }
                    }).ToList();
                }
                if (!string.IsNullOrEmpty(txtFileName))
                {
                    fileInfos = fileInfos.Where(x => x.Name.Contains(txtFileName)).ToList();
                }
                listToHtml(fileInfos);
                return "ok";
            }
            catch (Exception ex)
            {
                LogCommonHelper.WriteLogInfo(ex, ex.Message);
                return ex.Message;
            }
        }
        /// <summary>
        /// 获取文件夹Html
        /// </summary>
        /// <param name="folderName"></param>
        /// <returns></returns>
        public string GetFolderHtml(string folderName)
        {
            string FolderHtml = "";
            try
            {
                DirectoryInfo dir = new DirectoryInfo(folderName);
                DirectoryInfo[] folders = dir.GetDirectories();
                JArray firstNodes = new JArray();
                JArray Nodes = new JArray();
                JObject nodeJob = new JObject();
                //FolderHtml += "<ul>";
                foreach (var item in folders)
                {
                    JObject firstJob = new JObject();
                    string tempPath = folderName + "\\" + item.Name;
                    DirectoryInfo tempDir = new DirectoryInfo(tempPath);
                    DirectoryInfo[] tempFolders = tempDir.GetDirectories();
                    JArray childrenNodes = new JArray();
                    //FolderHtml += "<li id=\""+item.Name+"\"><a href=\"javascript:void(0);\" onclick=\"FindFilesByFolder('" + item.Name + "')\"><i class=\"fa fa-folder\"></i>" + item.Name + "</a>";
                    if (tempFolders.Length>0)
                    {
                        //FolderHtml += "<ul>";
                        foreach (var tempFoldersItem in tempFolders)
                        {
                            JObject childrenJob = new JObject();
                            childrenJob.Add("text","<a href =\"javascript:void(0);\" onclick=\"FindFilesByFolder('" + item.Name + "/" + tempFoldersItem.Name + "')\"></i>" + tempFoldersItem.Name + "</a>");
                            //FolderHtml += "<li><a href=\"javascript:void(0);\" onclick=\"FindFilesByFolder('" + item.Name + "/" + tempFoldersItem.Name + "')\"><i class=\"fa fa-folder\"></i>" + tempFoldersItem.Name + "</a></li>";
                            JObject childrenStatejob = new JObject();
                            childrenStatejob.Add("opened", true);
                            childrenJob.Add("state", childrenStatejob);
                            childrenNodes.Add(childrenJob);
                        }
                        //FolderHtml += "</ul>";
                    }
                    firstJob.Add("text", "<a href=\"javascript:void(0);\" onclick=\"FindFilesByFolder('" + item.Name + "')\"></i>" + item.Name + "</a>");
                    firstJob.Add("children", childrenNodes);
                    JObject firstJobStatejob = new JObject();
                    firstJobStatejob.Add("opened", true);
                    firstJob.Add("state", firstJobStatejob);
                    firstNodes.Add(firstJob);
                    //FolderHtml += "</li>";
                }
                //FolderHtml += "</ul>";
                nodeJob.Add("text", "UploadFiles");
                nodeJob.Add("children", firstNodes);
                JObject statejob = new JObject();
                statejob.Add("opened", true);
                nodeJob.Add("state", statejob);
                Nodes.Add(nodeJob);
                FolderHtml = JsonConvert.SerializeObject(Nodes);
            }
            catch (Exception ex)
            {
                LogCommonHelper.WriteLogInfo(ex, ex.Message);
                return ex.Message;
            }
            return FolderHtml;
        }
        /// <summary>
        /// 获取指定文件夹下的文件
        /// </summary>
        /// <param name="folderName"></param>
        public void loaFolderFiles(string folderName)
        {
            //清空html字符串
            filesHtml = "";
            excelHtml = "";
            ImgHtml = "";
            vdioHtml = "";
            txtHtml = "";
            musicHtml = "";
            string path = Server.MapPath("/UploadFiles/") + folderName;
            string[] folderPath = new string[] { path };
            var fileInfos = getAllFolderPathFiles(folderPath);
            listToHtml(fileInfos);
            //filesHtml += ImgHtml + txtHtml + excelHtml + musicHtml + vdioHtml;
        }
        /// <summary>
        /// 获取所有文件
        /// </summary>
        public void loadFiles()
        {
            string path = Server.MapPath("/UploadFiles");
            filesHtml = "";
            excelHtml = "";
            ImgHtml = "";
            vdioHtml = "";
            txtHtml = "";
            musicHtml = "";
            DirectoryInfo dir = new DirectoryInfo(path);
            DirectoryInfo[] folders = dir.GetDirectories();
            string[] folderPath = new string[folders.Length];
            int leng = 0;
            foreach (DirectoryInfo item in folders)
            {
                folderPath[leng] = path + @"\" + item.Name;
                leng++;
            }
            folderHtml = GetFolderHtml(path);
            var fileInfos = getAllFolderPathFiles(folderPath);
            listToHtml(fileInfos);
        }
        /// <summary>
        /// 获得文件夹下面所有的文件按时间排序
        /// </summary>
        /// <param name="folderPath"></param>
        /// <returns></returns>
        public List<FileInfo> getAllFolderPathFiles(string[] folderPath)
        {
            List<FileInfo> fileInfos = new List<FileInfo>();
            try
            {
                
                foreach (var item in folderPath)
                {
                    DirectoryInfo dir = new DirectoryInfo(item);
                    DirectoryInfo[] folders = dir.GetDirectories();
                    string[] tempfolderPath = new string[folders.Length];
                    int leng = 0;
                    foreach (DirectoryInfo items in folders)
                    {
                        tempfolderPath[leng] = item + @"\" + items.Name;
                        leng++;
                    }
                    foreach (var items in tempfolderPath)
                    {
                        var files = Directory.GetFiles(items);
                        foreach (var fileItem in files)
                        {
                            fileInfos.Add(new FileInfo(fileItem));
                            //fileDic.Add(fileItem, new FileInfo(fileItem));
                        }
                    }
                    var file = Directory.GetFiles(item);
                    foreach (var fileItem in file)
                    {
                        fileInfos.Add(new FileInfo(fileItem));
                        //fileDic.Add(fileItem, new FileInfo(fileItem));
                    }
                }
                fileInfos = fileInfos.OrderBy(x => x.CreationTime).ToList();
                fileInfos.Reverse();
            }
            catch (Exception)
            {
                return fileInfos;
            }
            return fileInfos;
        }
        /// <summary>
        /// 文件集合转Html数据
        /// </summary>
        /// <param name="fileInfos"></param>
        public void listToHtml(List<FileInfo> fileInfos)
        {
            foreach (var fileInfosItem in fileInfos)
            {
                if (fileInfosItem.Extension == ".doc" || fileInfosItem.Extension == ".docx" || fileInfosItem.Extension == ".txt")
                {
                    txtHtml += "<div class=\"file-box\">" +
                          "<div class=\"file\">" +
                            "<a href = \"../" + Urlconvertor(fileInfosItem.FullName) + "\" target=\"_blank\" download=\"" + fileInfosItem.Name + "\">" +
                                "<span class=\"corner\"></span>" +
                                "<div class=\"icon\">" +
                                    "<i class=\"fa fa-file\"></i>" +
                                "</div>" +
                                "<div class=\"file-name\">" +
                                    fileInfosItem.Name +
                                    "<br/>" +
                                    "<small>添加时间:" + fileInfosItem.CreationTime.ToString() + "</small>" +
                                "</div>" +
                            "</a>" +
                        "</div>" +
                    "</div>";
                    filesHtml += "<div class=\"file-box\">" +
                          "<div class=\"file\">" +
                            "<a href = \"../" + Urlconvertor(fileInfosItem.FullName) + "\" target=\"_blank\" download=\"" + fileInfosItem.Name + "\">" +
                                "<span class=\"corner\"></span>" +
                                "<div class=\"icon\">" +
                                    "<i class=\"fa fa-file\"></i>" +
                                "</div>" +
                                "<div class=\"file-name\">" +
                                    fileInfosItem.Name +
                                    "<br/>" +
                                    "<small>添加时间:" + fileInfosItem.CreationTime.ToString() + "</small>" +
                                "</div>" +
                            "</a>" +
                        "</div>" +
                    "</div>";
                }
                else if (fileInfosItem.Extension == ".jpg" || fileInfosItem.Extension == ".jpeg" || fileInfosItem.Extension == ".png" || fileInfosItem.Extension == ".ico")
                {
                    ImgHtml += "<div class=\"file-box\">" +
                      "<div class=\"file\">" +
                        "<a href = \"../" + Urlconvertor(fileInfosItem.FullName) + "\" class=\"fancybox\" title=\"" + fileInfosItem.Name + "\">" +
                            "<span class=\"corner\"></span>" +
                            "<div class=\"image\">" +
                                "<img alt=\"image\" class=\"img-responsive\" src=\"../" + Urlconvertor(fileInfosItem.FullName) + "\">" +
                            "</div>" +
                            "<div class=\"file-name\">" +
                                fileInfosItem.Name +
                                "<br/>" +
                                "<small>添加时间:" + fileInfosItem.CreationTime.ToString() + "</small>" +
                            "</div>" +
                        "</a>" +
                    "</div>" +
                "</div>";
                    filesHtml += "<div class=\"file-box\">" +
                      "<div class=\"file\">" +
                        "<a href = \"../" + Urlconvertor(fileInfosItem.FullName) + "\" class=\"fancybox\" title=\"" + fileInfosItem.Name + "\">" +
                            "<span class=\"corner\"></span>" +
                            "<div class=\"image\">" +
                                "<img alt=\"image\" class=\"img-responsive\" src=\"../" + Urlconvertor(fileInfosItem.FullName) + "\">" +
                            "</div>" +
                            "<div class=\"file-name\">" +
                                fileInfosItem.Name +
                                "<br/>" +
                                "<small>添加时间:" + fileInfosItem.CreationTime.ToString() + "</small>" +
                            "</div>" +
                        "</a>" +
                    "</div>" +
                "</div>";
                }
                else if (fileInfosItem.Extension == ".xls" || fileInfosItem.Extension == ".xlsx")
                {
                    excelHtml += "<div class=\"file-box\">" +
                          "<div class=\"file\">" +
                            "<a href = \"../" + Urlconvertor(fileInfosItem.FullName) + "\" target=\"_blank\" download=\"" + fileInfosItem.Name + "\">" +
                                "<span class=\"corner\"></span>" +
                                "<div class=\"icon\">" +
                                    "<i class=\"fa fa-bar-chart-o\"></i>" +
                                "</div>" +
                                "<div class=\"file-name\">" +
                                    fileInfosItem.Name +
                                    "<br/>" +
                                    "<small>添加时间:" + fileInfosItem.CreationTime.ToString() + "</small>" +
                                "</div>" +
                            "</a>" +
                        "</div>" +
                    "</div>";
                    filesHtml += "<div class=\"file-box\">" +
                          "<div class=\"file\">" +
                            "<a href = \"../" + Urlconvertor(fileInfosItem.FullName) + "\" target=\"_blank\" download=\"" + fileInfosItem.Name + "\">" +
                                "<span class=\"corner\"></span>" +
                                "<div class=\"icon\">" +
                                    "<i class=\"fa fa-bar-chart-o\"></i>" +
                                "</div>" +
                                "<div class=\"file-name\">" +
                                    fileInfosItem.Name +
                                    "<br/>" +
                                    "<small>添加时间:" + fileInfosItem.CreationTime.ToString() + "</small>" +
                                "</div>" +
                            "</a>" +
                        "</div>" +
                    "</div>";
                }
                else if (fileInfosItem.Extension == ".mp3")
                {
                    musicHtml += "<div class=\"file-box\">" +
                          "<div class=\"file\">" +
                            "<a href = \"../" + Urlconvertor(fileInfosItem.FullName) + "\" target=\"_blank\" download=\"" + fileInfosItem.Name + "\">" +
                                "<span class=\"corner\"></span>" +
                                "<div class=\"icon\">" +
                                    "<i class=\"fa fa-music\"></i>" +
                                "</div>" +
                                "<div class=\"file-name\">" +
                                    fileInfosItem.Name +
                                    "<br/>" +
                                    "<small>添加时间:" + fileInfosItem.CreationTime.ToString() + "</small>" +
                                "</div>" +
                            "</a>" +
                        "</div>" +
                    "</div>";
                    filesHtml += "<div class=\"file-box\">" +
                          "<div class=\"file\">" +
                            "<a href = \"../" + Urlconvertor(fileInfosItem.FullName) + "\" target=\"_blank\" download=\"" + fileInfosItem.Name + "\">" +
                                "<span class=\"corner\"></span>" +
                                "<div class=\"icon\">" +
                                    "<i class=\"fa fa-music\"></i>" +
                                "</div>" +
                                "<div class=\"file-name\">" +
                                    fileInfosItem.Name +
                                    "<br/>" +
                                    "<small>添加时间:" + fileInfosItem.CreationTime.ToString() + "</small>" +
                                "</div>" +
                            "</a>" +
                        "</div>" +
                    "</div>";
                }
                else if (fileInfosItem.Extension == ".mp4" || fileInfosItem.Extension == ".AVI" || fileInfosItem.Extension == ".mpg4" || fileInfosItem.Extension == ".RM")
                {
                    vdioHtml += "<div class=\"file-box\">" +
                          "<div class=\"file\">" +
                            "<a href = \"../" + Urlconvertor(fileInfosItem.FullName) + "\" target=\"_blank\" download=\"" + fileInfosItem.Name + "\">" +
                                "<span class=\"corner\"></span>" +
                                "<div class=\"icon\">" +
                                    "<i class=\"img-responsive fa fa-film\"></i>" +
                                "</div>" +
                                "<div class=\"file-name\">" +
                                    fileInfosItem.Name +
                                    "<br/>" +
                                    "<small>添加时间:" + fileInfosItem.CreationTime.ToString() + "</small>" +
                                "</div>" +
                            "</a>" +
                        "</div>" +
                    "</div>";
                    filesHtml += "<div class=\"file-box\">" +
                          "<div class=\"file\">" +
                            "<a href = \"../" + Urlconvertor(fileInfosItem.FullName) + "\" target=\"_blank\" download=\"" + fileInfosItem.Name + "\">" +
                                "<span class=\"corner\"></span>" +
                                "<div class=\"icon\">" +
                                    "<i class=\"img-responsive fa fa-film\"></i>" +
                                "</div>" +
                                "<div class=\"file-name\">" +
                                    fileInfosItem.Name +
                                    "<br/>" +
                                    "<small>添加时间:" + fileInfosItem.CreationTime.ToString() + "</small>" +
                                "</div>" +
                            "</a>" +
                        "</div>" +
                    "</div>";
                }
                else
                {
                    filesHtml += "<div class=\"file-box\">" +
                          "<div class=\"file\">" +
                            "<a href = \"../" + Urlconvertor(fileInfosItem.FullName) + "\" target=\"_blank\" download=\"" + fileInfosItem.Name + "\">" +
                                "<span class=\"corner\"></span>" +
                                "<div class=\"icon\">" +
                                    "<i class=\"fa fa-file\"></i>" +
                                "</div>" +
                                "<div class=\"file-name\">" +
                                    fileInfosItem.Name +
                                    "<br/>" +
                                    "<small>添加时间:" + fileInfosItem.CreationTime.ToString() + "</small>" +
                                "</div>" +
                            "</a>" +
                        "</div>" +
                    "</div>";
                }
            }
        }
        /// <summary> 
        /// 遍历 rootdir目录下的所有文件
        /// </summary> 
        /// <param name="rootDir">目录名称</param> 
        /// <returns>该目录下的所有文件</returns>
        public StringCollection GetAllFiles(string rootDir)
        {
            var result = new StringCollection();
            try
            {
                GetAllFiles(rootDir, result);
            }
            catch (Exception)
            {
                return result;
            }
            return result;
        }

        /// <summary> 
        /// 作为遍历文件函数的子函数 
        /// </summary> 
        /// <param name="parentDir">目录名称</param> 
        /// <param name="result">该目录下的所有文件</param>
        public void GetAllFiles(string parentDir, StringCollection result)
        {
            //获取目录parentDir下的所有的文件,并过滤得到所有的文本文件 按时间倒序
            var file = Directory.GetFiles(parentDir).OrderByDescending(f => new FileInfo(f).CreationTime);
            foreach (var t in file)
            {
                result.Add(Urlconvertor(t));
            }
        }

        //本地路径转换成URL相对路径
        private string Urlconvertor(string imagesUrl1)
        {
            var tmpRootDir = Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath); //获取程序根目录
            var fileUrl = imagesUrl1.Replace(tmpRootDir, ""); //转换成相对路径
            fileUrl = fileUrl.Replace(@"\", @"/");
            return fileUrl;
        }
        /// <summary>
        /// 初始化页面
        /// </summary>
        /// <param name="fileUrl">文件路径</param>
        public void InitTxView(string fileUrl)
        {
            //获取文件绝对路径
            var fileUrlJd = System.Web.HttpContext.Current.Server.MapPath(fileUrl);
            if (!File.Exists(fileUrlJd)) return;
            //存在则读取 
            if (!string.IsNullOrEmpty(fileUrlJd))
            {
                StreamReader sr = new StreamReader(fileUrlJd, System.Text.Encoding.Default);
                var outData = sr.ReadToEnd();
                //关闭流
                sr.Close();
                //输出(采用PRE标签来格式化文本,转换原文本中的html字符,只需要转换一个字符即可,这里我们转换<字符,就可以显示原格式和原文本内容)
                Response.Write(
                    string.Format(
                        "<pre   style=\"white-space: pre-wrap;word-wrap: break-word;font-size:12px;\">{0}</pre>",
                        outData.Replace("<", "&lt;")));
            }

            Response.End();
        }
    }
}

谨以此文章作为学习记录,才疏学浅,如有侵权或指点可在评论区交流或私信交流

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值