现有PHP代码,需要修改成ASP.NET网页代码,寻求帮助~

qq_38399333 2019-02-01 12:27:51
代码如下:
<?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.";
}

?>

是用来获取上传的文件并存储在服务器目录下的,目前要在此文件基础上加上检测文件是否存在、文件名是否符合”纯数字 16位“、并且存储在服务器的UI\serverName\下。希望大佬能帮忙铺下代码。。感谢!

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");
}
}


以上是别人写的,但是由于引用的DLL丢失了现在无法使用了,希望能够得到非MVC的代码,感激不尽,在线等,急。
...全文
119 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38399333 2019-02-01
  • 打赏
  • 举报
回复
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.");
}
}
}

尝试使用这样的代码,已经完成了,谢谢
qq_38399333 2019-02-01
  • 打赏
  • 举报
回复
引用 1 楼 exception1992 的回复:
[quote=引用 3 楼 qq_38399333 的回复:]
唉。。还是直接求源码吧。。。求大神帮助,真急用。。

这里99.9%求不到,按着1楼的来。[/quote]好的TOT
  • 打赏
  • 举报
回复
引用 3 楼 qq_38399333 的回复:
唉。。还是直接求源码吧。。。求大神帮助,真急用。。

这里99.9%求不到,按着1楼的来。
qq_38399333 2019-02-01
  • 打赏
  • 举报
回复
唉。。还是直接求源码吧。。。求大神帮助,真急用。。
qq_38399333 2019-02-01
  • 打赏
  • 举报
回复
引用 1 楼 丰云 的回复:
非mvc,那就是webform了,用表单提交,表单里面有一个file控件,一个submit按钮。

对应的页面cs文件里做文件相关校验,很普通的功能,随便都能找到一堆例子
可否在源码上给予一些指点?
丰云 2019-02-01
  • 打赏
  • 举报
回复
非mvc,那就是webform了,用表单提交,表单里面有一个file控件,一个submit按钮。 对应的页面cs文件里做文件相关校验,很普通的功能,随便都能找到一堆例子

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧