62,243
社区成员




<?php
$charId = $_POST['char_id'];
$nameServer =$_POST['name_server'];
$uiLoadSuccess =$_POST['ui_load_success'];
$group = substr($charId, -3);
$file_tmp = $_FILES["ui"]["tmp_name"];
$target_dir = "ui/" . $nameServer ."/" .$group ."/";
$target_file = $target_dir . basename($_FILES["ui"]["name"]);
if(!is_dir($target_dir)){
mkdir($target_dir, 0755, true);
}
if (move_uploaded_file($_FILES["ui"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["ui"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
?>
using Aura.Shared.Util;
using Swebs;
using Swebs.RequestHandlers.CSharp;
using System;
using System.Text.RegularExpressions;
public class UiStorageController : Controller
{
public override void Handle(HttpRequestEventArgs args, string requestedPath, string localPath)
{
var request = args.Request;
var response = args.Response;
response.ContentType = "text/plain";
// Get file
var file = request.File("ui");
if (file == null)
{
Log.Debug("UiStorageController: Missing file.");
return;
}
// Check file name
if (!Regex.IsMatch(file.FileName, @"^[0-9]{16}\.xml$"))
{
Log.Debug("UiStorageController: Invalid file name '{0}'.", file.FileName);
return;
}
var charId = request.Parameter("char_id", null);
var serverName = request.Parameter("name_server", null);
var loadSuccess = request.Parameter("ui_load_success", null);
// Check parameters
if (!Regex.IsMatch(charId, @"^[0-9]{16}$") || !Regex.IsMatch(charId, @"^[0-9A-Za-z_ ]+$"))
{
Log.Debug("UiStorageController: Invalid character id ({0}) or server name ({1}).", charId, serverName);
return;
}
var group = charId.Substring(charId.Length - 3);
// Move file
try
{
file.MoveTo("user/web/upload/ui/" + serverName + "/" + group + "/" + file.FileName);
}
catch (Exception ex)
{
Log.Exception(ex, "UiStorageController: Failed to move file.");
}
// Success
response.Send("1");
}
}
using System;
using System.Web;
using System.Text.RegularExpressions;
public partial class UiStorageController : System.Web.UI.Page
{
public override void ProcessRequest(HttpContext context)
{
var charId = context.Request.Form["char_id"];
var nameServer = context.Request.Form["name_server"];
var uiLoadSuccess = context.Request.Form["ui_load_success"];
var group = charId.Substring(charId.Length - 3);
var file_tmp = context.Request.Files["ui"];
var target_dir = context.Server.MapPath("ui/" + nameServer + "/" + group);
var fileinfo = new System.IO.FileInfo(file_tmp.FileName);
var target_file = target_dir + fileinfo.Name;
if (!System.IO.Directory.Exists(target_dir))
{
System.IO.Directory.CreateDirectory(target_dir);
}
try
{
file_tmp.SaveAs(target_dir + "\\" + fileinfo.Name);
context.Response.Write(string.Format("Thie file {0} has been uploaded.", fileinfo.Name));
}
catch (Exception)
{
context.Response.Write("Sorry, there was an error uploading your file.");
}
}
}