现有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的代码,感激不尽,在线等,急。
...全文
113 6 打赏 收藏 转发到动态 举报
写回复
用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
exception92 2019-02-01
  • 打赏
  • 举报
回复
引用 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文件里做文件相关校验,很普通的功能,随便都能找到一堆例子
==================================== 阿江酷站访问统计系统 V 2.2 正 式 版 041121 ==================================== 感谢您选用阿江统计V2.2,该版本在速度、功能、稳定性和资源占用等方 面都得到了巨大的提升。希望新的版本能带给您新的惊喜和便利。 ================= 目 录 ================= - 功能介绍 - 运行环境 - 安装 - 引用数据 - 查看统计报告 - 多站点 - 更多应用 提醒:不少朋友总是只阅读“安装”这一节,以后遇到问题就不知所措,建 议您在遇到问题时先阅读本文件的后面各节,如果没有找到答案,请阅读系 统帮助,或者发邮件至客户支持信箱寻求答案。 1、功能介绍 ================= 详见 http://www.ajstat.com/function.htm 2、运行环境 ================= 1) IIS 5.0 或者更高版本(并未在IIS 4.0下测试) 2) ADO 组件支持(即可以使用ACCESS数据库) 3) FSO 组件支持(当不支持FSO时系统仍能使用,但是管理员功能受到限制) 使用的局限性详见 http://www.ajstat.com/defect.htm 3、安装 ================= 阿江统计的安装非常简单,基本上您只需要上传文件并进行必要的设置而 已。您可以按照以下的步骤来安装: 建议:① 逐字阅读,切勿一目十行。 ② 通读安装说明后再开始安装,不要读一步进行一步。 ③ 安装说明后面有提醒和问题集。 1) 在站点上创建一个文件夹,比如根目录下的 /mystat 文件夹,然后将全部 文件上传到该文件夹中。 2) 在浏览器的地址栏输入类似下面的地址并回车: http://www.ajiang.net/mystat/login.asp 您应该将其中的“http://www.ajiang.net/mystat/”更换为您的实际安 装路径(URL) 3) 将站点ID后面的文字框中的数字1删除,在用户名和密码栏中填写小写的 admin ,然后点击登录按钮进入超级管理员控制面板。 4) [重要] 点击左侧功能树中的“全局选项”,填写新的管理员用户名和密 码(建议两项都修改)后确定。 5) 点击功能树中的“压缩/改名数据库”,选择压缩后立即启动,确定。这 时,数据库文件被改名为不容易猜到的长文件名。 6) [重要] 点击功能树中的站点信息,设置您的站点信息、站点管理员名和 密码。 7) [可略] 点击功能树中的参数设置,按您的喜好设置站点参数。 8) [重要] 如果您的网站每日流量超过1万IP或者2万PV,点击功能树中的权 限设置,将工作模式改为“大站模式”。 9) 点击功能树中的“嵌入代码助手”,将“统计计数代码”复制出来,放置 于您的网站的所有页面的底部,比如放在 前。 提醒第一次安装的朋友: 1) 登录时必须删除站点ID中的数字才能以超级管理员的身份进入控制台。 2) 如果第五步时忘记了选择“压缩后立即启动”,则安装好后一切正常,但 是不计数。解决办法是重做第五步。 3) 安放嵌入代码的时候只放了“显示输出代码”而忘记了放上“统计计数代 码”,这导致系统不计数。 4) 如果只在首页放嵌入代码,则从栏目页进入首页时并不计数,这是2.2的防 刷机制决定的。建议在所有页面放置嵌入代码。 安装和调试时容易遇到的问题: 1) 问:我从搜索引擎中搜索不同的关键词进入多次,但只列出一个关键词。 答:后面的几次进入被系统认为是“刷新”或者“站内页面跳转”,系统 并不对关键词等信息进行分析。 2) 问:我的系统不支持FSO,安装步骤的4、5都无法进行。 答:① 修改 inc_config.asp 中相应的选项并重新上传,完第四步。 ② 修改 inc_config_iscan.asp ,将false改为true,启动系统,完 第五步。 3) 问:我的服务器FSO已改名,如何使用? 答:用文本编辑器编辑 inc_config.asp 和 inc_config_model.asp 两个 文件,将其中的FSO名称改为你需要的名称即可。 4、引用数据 ================= 点击功能树中的“嵌入代码助手”,填写“显示数据代码”的各项参数(可 点击该页面的帮助按钮查看详细的设置方法)后得到显示数据的嵌入代码。 并将代码放入要显示的页面上。 5、查看统计报告 ================= 1) 查看默认站点的统计报告,可访问以下地址: http://系统安装路径/index.asp 2) 查看非默认站点的统计报告,可访问以下地址: http://系统安装路径/index.asp?siteid=站点ID 6、多站点 ================= 1) 添加站点 用 3、安装 中的办法进入超管控制面板,点击功能树中的“添加账号”, 按提示添加。 2) 站点管理员登录 进入统计报告查看页面,点击“管理员登录”链接进入登录页面,输入 站点管理员用户名和密码登录即可。新创建的站点的站点管理员的默认用户 名和密码均为 admin。 3) 修改站点权限 用 3、安装 中的办法进入超管控制面板,点击功能树中的“账号列表”, 点击相应站点后面的“改”字,根据提示修改站点权限。 7、更多应用 ================= 您可以通过技术支持信箱(向您发送此压缩包的信箱)与我联系获取更多技 术支持。 如果您是服务包用户(纯授权包用户不享有此服务),您可以到阿江统计官 方论坛( http://bbs.ajiang.net )的付费用户技术支持区获得更多的技 术支持。

62,051

社区成员

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

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

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

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