资源简介

【实例简介】

编译器图片上传,和服务器图片查看功能

【核心代码】

/// <summary>
/// 编辑器文件查看
/// </summary>
/// <returns></returns>
public ActionResult ProcessRequest()
{
//String aspxUrl = context.Request.Path.Substring(0, context.Request.Path.LastIndexOf("/") 1);
//根目录路径,相对路径
String rootPath = Path.Combine(Server.MapPath("~"), "Upload", DateTime.Now.ToString("yyyyMM")); //"D:\\Web_site\\fzzzsd_cn\\imimg.fzzzsd.cn\\wwwroot\\Upload";
//根目录URL,可以指定绝对路径,
String rootUrl = Path.Combine(Server.MapPath("~"), "Upload", DateTime.Now.ToString("yyyyMM"));// "D:\\Web_site\\fzzzsd_cn\\imimg.fzzzsd.cn\\wwwroot\\Upload";
//图片扩展名
String fileTypes = "gif,jpg,jpeg,png,bmp";

String currentPath = "";
String currentUrl = "";
String currentDirPath = "";
String moveupDirPath = "";

//根据path参数,设置各路径和URL
String path = Request.QueryString["path"];
path = String.IsNullOrEmpty(path) ? "" : path;
if (path == "")
{
currentPath = rootPath;// Server.MapPath(rootPath);
currentUrl = rootUrl;
currentDirPath = "";
moveupDirPath = "";
}
else
{
currentPath = (rootPath) path;//Server.MapPath(rootPath) path;
currentUrl = rootUrl path;
currentDirPath = path;
moveupDirPath = Regex.Replace(currentDirPath, @"(.*?)[^\/] \/$", "$1");
}

//排序形式,name or size or type
String order = Request.QueryString["order"];
order = String.IsNullOrEmpty(order) ? "" : order.ToLower();

//不允许使用..移动到上一级目录
if (Regex.IsMatch(path, @"\.\."))
{
Response.Write("Access is not allowed.");
Response.End();
}
//最后一个字符不是/
if (path != "" && !path.EndsWith("/"))
{
Response.Write("Parameter is not valid.");
Response.End();
}
//目录不存在或不是目录
if (!Directory.Exists(currentPath))
{
Response.Write("Directory does not exist.");
Response.End();
}

//遍历目录取得文件信息
string[] dirList = Directory.GetDirectories(currentPath);
string[] fileList = Directory.GetFiles(currentPath);

switch (order)
{
case "size":
Array.Sort(dirList, new NameSorter());
Array.Sort(fileList, new SizeSorter());
break;
case "type":
Array.Sort(dirList, new NameSorter());
Array.Sort(fileList, new TypeSorter());
break;
case "name":
default:
Array.Sort(dirList, new NameSorter());
Array.Sort(fileList, new NameSorter());
break;
}

Hashtable result = new Hashtable();
result["moveup_dir_path"] = moveupDirPath;
result["current_dir_path"] = currentDirPath;
result["current_url"] = currentUrl;
result["total_count"] = dirList.Length fileList.Length;
List<Hashtable> dirFileList = new List<Hashtable>();
result["file_list"] = dirFileList;
for (int i = 0; i < dirList.Length; i )
{
DirectoryInfo dir = new DirectoryInfo(dirList[i]);
Hashtable hash = new Hashtable();
hash["is_dir"] = true;
hash["has_file"] = (dir.GetFileSystemInfos().Length > 0);
hash["filesize"] = 0;
hash["is_photo"] = false;
hash["filetype"] = "";
hash["filename"] = dir.Name;
hash["datetime"] = dir.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss");
dirFileList.Add(hash);
}
for (int i = 0; i < fileList.Length; i )
{
FileInfo file = new FileInfo(fileList[i]);
Hashtable hash = new Hashtable();
hash["is_dir"] = false;
hash["has_file"] = false;
hash["filesize"] = file.Length;
hash["is_photo"] = (Array.IndexOf(fileTypes.Split(','), file.Extension.Substring(1).ToLower()) >= 0);
hash["filetype"] = file.Extension.Substring(1);
hash["filename"] = file.Name;
hash["datetime"] = file.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss");
dirFileList.Add(hash);
}
//Response.AddHeader("Content-Type", "application/json; charset=UTF-8");
//context.Response.Write(JsonMapper.ToJson(result));
//context.Response.End();
return Json(result, "text/html;charset=UTF-8", JsonRequestBehavior.AllowGet);
}

资源截图

代码片段和文件信息

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      49664  2016-07-13 21:52  编辑器\kindeditor\asp.net\bin\LitJSON.dll

     文件       1686  2016-07-13 21:52  编辑器\kindeditor\asp.net\demo.aspx

     文件       5970  2016-07-13 21:52  编辑器\kindeditor\asp.net\file_manager_json.ashx

     文件        466  2016-07-13 21:52  编辑器\kindeditor\asp.net\README.txt

     文件       3399  2016-07-13 21:52  编辑器\kindeditor\asp.net\upload_json.ashx

     文件     178158  2016-07-13 21:52  编辑器\kindeditor\kindeditor-all-min.js

     文件     313352  2016-07-13 21:52  编辑器\kindeditor\kindeditor-all.js

     文件      93336  2016-07-13 21:52  编辑器\kindeditor\kindeditor-min.js

     文件     164284  2016-07-13 21:52  编辑器\kindeditor\kindeditor.js

     文件       9591  2016-07-13 21:52  编辑器\kindeditor\lang\ar.js

     文件       7979  2016-07-13 21:52  编辑器\kindeditor\lang\en.js

     文件       8850  2016-07-13 21:52  编辑器\kindeditor\lang\ko.js

     文件       8488  2016-07-13 21:52  编辑器\kindeditor\lang\zh_CN.js

     文件       8388  2016-07-13 21:52  编辑器\kindeditor\lang\zh_TW.js

     文件      27032  2016-07-13 21:52  编辑器\kindeditor\license.txt

     文件       1513  2016-07-13 21:52  编辑器\kindeditor\plugins\anchor\anchor.js

     文件        802  2016-07-13 21:52  编辑器\kindeditor\plugins\autoheight\autoheight.js

     文件       3486  2016-07-13 21:52  编辑器\kindeditor\plugins\baidumap\baidumap.js

     文件       3522  2016-07-13 21:52  编辑器\kindeditor\plugins\baidumap\index.html

     文件       1222  2016-07-13 21:52  编辑器\kindeditor\plugins\baidumap\map.html

     文件       1185  2016-07-13 21:52  编辑器\kindeditor\plugins\clearhtml\clearhtml.js

     文件       2192  2016-07-13 21:52  编辑器\kindeditor\plugins\code\code.js

     文件        973  2016-07-13 21:52  编辑器\kindeditor\plugins\code\prettify.css

     文件      13660  2016-07-13 21:52  编辑器\kindeditor\plugins\code\prettify.js

     文件       4065  2016-07-13 21:52  编辑器\kindeditor\plugins\emoticons\emoticons.js

     文件       1810  2016-07-13 21:52  编辑器\kindeditor\plugins\emoticons\images\0.gif

     文件       1582  2016-07-13 21:52  编辑器\kindeditor\plugins\emoticons\images\1.gif

     文件       3716  2016-07-13 21:52  编辑器\kindeditor\plugins\emoticons\images\10.gif

     文件       1780  2016-07-13 21:52  编辑器\kindeditor\plugins\emoticons\images\100.gif

     文件       2443  2016-07-13 21:52  编辑器\kindeditor\plugins\emoticons\images\101.gif

............此处省略219个文件信息

评论

共有 条评论