目录中.移动函数不能在服务器上工作

本文关键字:服务器 工作 不能 函数 移动 | 更新日期: 2023-09-27 18:15:12

我想将一个文件夹移动到服务器中的另一个文件夹。在本地,我的代码工作成功。但在直播节目中,这行不通。它与权限有关吗?

代码示例

string from = Server.MapPath(MainRoot + values[1].ToString());
string to = Server.MapPath(MainRoot + newFolderPath);
Directory.Move(from, to); 

目录中.移动函数不能在服务器上工作

如果您不能在服务器中调试它,只需尝试在代码中添加一些验证来检查发生了什么。像这样做:

try
   {
     string from = Server.MapPath(MainRoot + values[1].ToString());
     string to = Server.MapPath(MainRoot + newFolderPath);
     if(!Directory.Exists(from) || !Directory.Exists(to))
     {
       Throw new Exception("One of the directories doesn't exist");
     }
     Directory.Move(from, to); 
   }  
   Catch(Exception ex)
   {
     File.WriteAllText("Error.txt", ex.Message);
   }

执行后,检查Error.txt,看看发生了什么。它将抛出一个异常如果其中一个目录不存在,它也会抛出异常不能对许可人进行操作。检查一下日志。

编辑:

现在您已经找到了异常,在运行时创建目录:

 if(!Directory.Exists(from))
 {
    Directory.Create(from);
 }
 if(!Directory.Exists(to))
 {
     Directory.Create(to);
 }