using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Collections; namespace FangYar.WebUI.ashx { /// /// FileUpHandler 的摘要说明 /// public class FileUpHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "文件上传操作请求", ""); context.Response.ContentEncoding = System.Text.Encoding.UTF8; //上传配置 string pathbase = "../upload/"; //保存路径 int size = 10; //文件大小限制,单位mb //文件大小限制,单位KB // string[] filetype = { ".gif", ".png", ".jpg", ".jpeg", ".bmp" }; //文件允许格式 string callback = context.Request["callback"]; string editorId = context.Request["editorid"]; //上传图片 Hashtable info; FangYar.Common.Uploader up = new FangYar.Common.Uploader(); info = up.upFile(context, pathbase,size); //获取上传状态 string json = BuildJson(info); context.Response.ContentType = "text/html"; if (callback != null) { context.Response.Write(String.Format("", callback, json)); } else { context.Response.Write(json); } } public bool IsReusable { get { return false; } } private string BuildJson(Hashtable info) { List fields = new List(); string[] keys = new string[] { "originalName", "name", "url", "size", "state", "type" }; for (int i = 0; i < keys.Length; i++) { fields.Add(String.Format("\"{0}\": \"{1}\"", keys[i], info[keys[i]])); } return "{" + String.Join(",", fields) + "}"; } } }