asp.net中的文件监视器

时间:2014-09-30 09:21:04

标签: c# asp.net

我试图在用户点击按钮时创建一个网页,它应该调用一些脚本。这很容易,但该脚本将在用户目录中创建一个文件。每个用户都拥有自己的目录,脚本将在该目录中创建新文件。我在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 \"目录如果任何其他用户登录文件应该被复制到该用户文件夹。

1 个答案:

答案 0 :(得分:0)

那为什么不在文件名中包含用户名呢?如果您只是在有人单击按钮时调用脚本,则可以将用户名作为参数传递,因为这是您唯一知道该用户属于哪个用户的

脚本完成并创建文件后,文件监视程序将知道该文件属于哪个用户,您可以编写代码将文件移动到适当的文件夹。