文件管理页面,主要运用了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>
<button type="button" class="btn btn btn-info" onclick="clearSearch()"><i class="fa fa-remove"></i>清空</button>
<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("<", "<")));
}
Response.End();
}
}
}
谨以此文章作为学习记录,才疏学浅,如有侵权或指点可在评论区交流或私信交流