62,243
社区成员




using System;
using System.Web;
using System.Text.RegularExpressions;
public partial class UploadVisualChatController : System.Web.UI.Page
{
public override void ProcessRequest(HttpContext context)
{
var server = context.Request.Form["server"];
var characterId = context.Request.Form["characterid"];
var characterName = context.Request.Form["charname"];
var file = context.Request.Files["filename"];
if (!Regex.IsMatch(characterName, @"^[0-9A-Za-z_]+$"))
{
Response.Write("UploadVisualChatController: Invalid character name ({0}).");
return;
}
if (file == null)
{
Response.Write("UploadVisualChatController: File missing (Names: {0})");
return;
}
if (file.FileName != "visualchat.png" || file.ContentType != "image/png")
{
Response.Write("UploadVisualChatController: Invalid file ({0}, {1}).");
return;
}
var fileName = string.Format("chat_{0:yyyyMMdd_HHmmss}_{1}.png", DateTime.Now, characterName);
var target_dir = context.Server.MapPath("visual-chat/");
if (!System.IO.Directory.Exists(target_dir))
{
System.IO.Directory.CreateDirectory(target_dir);
}
file.SaveAs(target_dir + "\\" + fileName);
System.Web.HttpContext.Current.Response.Redirect(string.Format("http://{0}:{1}/VisualChatUpload/visual-chat/{2}", Request.Url.Host, Request.Url.Port, fileName));
}
}