asp.net中的文件观察程序
本文关键字:观察 程序 文件 net asp | 更新日期: 2023-09-27 18:25:13
我正试图创建一个网页,当用户点击一个按钮时,它应该调用一些脚本。这很容易做到,但该脚本将在用户目录中创建一个文件。每个用户都有自己的目录,脚本将在该目录中创建新文件。我在Global.asax文件中使用以下代码。
private FileSystemWatcher fsw;
public void Application_Start(object sender, EventArgs e)
{
string monitorPath = "C:''testwatcher''";
Application.Add("watcher", new FileSystemWatcher(monitorPath));
fsw = (FileSystemWatcher)Application["watcher"];
fsw.EnableRaisingEvents = true;
fsw.IncludeSubdirectories = false;
fsw.Changed += new FileSystemEventHandler(OnChanged);
fsw.Created += new FileSystemEventHandler(OnCreated);
}
public static void OnCreated(object source, FileSystemEventArgs e)
{
string text = File.ReadAllText(e.FullPath);
string File_Name_format = string.Format("NewFile_{0:yyyy_MM_dd_hh_mm_ss_tt}.message", DateTime.Now);
string File_Path = "C:''testfilescrated''" + File_Name_format;
File.WriteAllText(File_Path, text);
}
我希望在用户文件夹中创建该文件。用户文件夹名称与用户登录名相同。上面的代码正在"C:''testfilescrated''"位置创建文件。我如何将文件复制到例如,如果john已登录并单击按钮获取文件,则文件应复制到"C:''testfilescrated''john''"目录。如果任何其他用户已登录,则文件应该复制到该用户文件夹。
为什么不在文件名中包含用户名称?如果你只是在有人点击按钮时调用脚本,你可以将用户名作为参数传递,因为这是你唯一知道它属于哪个用户的时间。
一旦脚本完成并创建了文件,那么filewatcher就会知道它属于哪个用户,您就可以编写代码将文件移动到适当的文件夹中。