using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using DbLib.db;
using System.Data;
using DbLib.Common;
using FrameWork.Modal;
using FrameWork;
using System.IO;
using Newtonsoft.Json;
using System.Text.RegularExpressions;
using System.Data.OracleClient;
namespace website.handler
{
/// <summary>
/// htbsicon 的摘要说明
/// </summary>
public class htbsicon : IHttpHandler
{
public class File_info
{
public string name;
public int type;
public string path;
}
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType =
"text/plain";
StreamReader s =
null;
try
{
string port = System.Configuration.ConfigurationManager.AppSettings[
"port"].ToString();//获取端口
string UrlGetlist =
"http://localhost:" + port +
"/handler/DBhandler/OperationDBHandler.ashx?funcName=SEL"; //查询方法
string requst = Common.HttpPost(UrlGetlist,
"&tablename=htbsmap&id=0"); //返回数据
WebCommon.OutPutString(requst);
requst =
ConvertJsonString(requst);
return;
}
catch
{
}
finally
{
if (s !=
null)
{
s.Close();
}
}
}
private string ConvertJsonString(
string str)
{
//格式化json字符串
JsonSerializer serializer =
new JsonSerializer();
TextReader tr =
new StringReader(str);
JsonTextReader jtr =
new JsonTextReader(tr);
object obj =
serializer.Deserialize(jtr);
if (obj !=
null)
{
StringWriter textWriter =
new StringWriter();
JsonTextWriter jsonWriter =
new JsonTextWriter(textWriter)
{
Formatting =
Formatting.Indented,
Indentation =
4,
IndentChar =
' '
};
serializer.Serialize(jsonWriter, obj);
return textWriter.ToString();
}
else
{
return str;
}
}
public void Digui(
string path, List<File_info>
list)
{
string[] filelist =
Directory.GetFiles(path);
Regex reg =
new Regex(
"_.*");
for (
int n =
0; n < filelist.Length; n++
)
{
File_info f =
new File_info();
int index = filelist[n].LastIndexOf(
'\\');
int index3 = filelist[n].LastIndexOf(
"_");
int index2 = filelist[n].IndexOf(
"\\images");
if (index != -
1)
{
f.name =
System.IO.Path.GetFileNameWithoutExtension(filelist[n]);
f.name = reg.Replace(f.name,
"");
f.path = filelist[n].Substring(index2 +
1).Replace(
"\\",
"/");
list.Add(f);
}
}
string[] dirlist =
Directory.GetDirectories(path);
for (
int n =
0; n < dirlist.Length; n++
)
{
DirectoryInfo d =
new DirectoryInfo(dirlist[n]);
File_info f =
new File_info() { name = d.Name, type =
1 };
list.Add(f);
Digui(dirlist[n], list);
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
转载于:https://www.cnblogs.com/maoye520/p/9790265.html
相关资源:getJson ashx实现数据交互(入门级)