Files
g.hnyhua.cn/Mtxfw.VipSite/artDialog/net/imageManager.cs
2026-02-07 15:48:27 +08:00

118 lines
4.4 KiB
C#

/**
* Created by visual studio2010
* User: xuheng
* Date: 12-3-7
* Time: 下午16:29
* To change this template use File | Settings | File Templates.
*/
using System;
using System.Web;
using System.IO;
using System.Text.RegularExpressions;
using System.Web.SessionState;
namespace Mtxfw.VipSite
{
public class imageManager : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
Mtxfw.Utility.Config config = new Mtxfw.Utility.Config("");
if (context.Session["MemberId"] != null && context.Session["MemberName"] != null)
{
context.Response.ContentType = "text/plain";
string[] paths = {"Files/Image/"}; //需要遍历的目录列表,最好使用缩略图地址,否则当网速慢时可能会造成严重的延时
string[] filetype = config.webUpType.Split(','); //文件允许格式
string action = context.Server.HtmlEncode(context.Request["action"]);
if (action == "get")
{
String str = String.Empty;
foreach (string path in paths)
{
DirectoryInfo info = new DirectoryInfo(context.Server.MapPath("/" + path));
//目录验证
if (info.Exists)
{
foreach (FileInfo fi in info.GetFiles())
{
if (Array.IndexOf(filetype, fi.Extension.Replace(".","")) != -1)
{
str += path + fi.Name + "ue_separate_ue";
}
}
DirectoryInfo[] infoArr = info.GetDirectories();
foreach (DirectoryInfo tmpInfo in infoArr)
{
if (config.webImgAllowSize.IndexOf(tmpInfo.Name) == -1)
{
foreach (FileInfo fi in tmpInfo.GetFiles())
{
if (Array.IndexOf(filetype, fi.Extension.Replace(".", "")) != -1)
{
str += path + tmpInfo.Name + "/" + fi.Name + "ue_separate_ue";
}
}
}
}
}
}
context.Response.Write(str);
}
if (action == "del")
{
string[] delpics = context.Server.UrlDecode(context.Request["delpics"]).Split(',');
foreach (string strpic in delpics)
{
string pic = strpic;
if (pic != "")
{
bool b = true;
foreach (string path in paths)
{
if (pic.IndexOf(path) != -1)
{
b = false;
}
else
{
pic = paths + pic;
}
}
if (!b)
{
try
{
if (File.Exists(context.Server.MapPath(pic)))
{
File.Delete(context.Server.MapPath(pic));
}
}
catch (Exception err)
{
Mtxfw.Utility.Common.WriteHtml("/weixin/weixin.txt", err.ToString());
}
}
}
}
context.Response.Write("true");
}
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
}