ashx获取Oracle数据库图片

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