将文件从一个文件夹复制到另一个文件夹

时间:2012-05-23 08:42:04

标签: asp.net asp.net-3.5

我正在网站上工作,我想将文件从我的应用程序文件夹复制到同一服务器上的其他文件夹(但是这个文件夹不在我的应用程序文件夹中,即我在C驱动程序上的应用程序和目标文件夹在D驱动器上)。这可能使用Asp.Net的任何功能吗?

提前致谢。

3 个答案:

答案 0 :(得分:9)

是的,你必须注意的唯一问题是CopyTo路径应该是完整路径,而不是相对路径(例如: c:\ websites \ myOtherFolder )。 / p>

这样,您就可以从ASP.NET代码中成功复制/移动文件。

下面是一个伪代码,向您展示如何完成它(假设该文件已放置在ASP.NET应用程序的根文件夹中)。

 using System.IO;
    ..
    ..
    ..



// Get the current app path:
var currentApplicationPath =  HttpContext.Current.Request.PhysicalApplicationPath;

//Get the full path of the file    
var fullFilePath = currentApplicationPath + fileNameWithExtension;

// Get the destination path
var copyToPath = "This has to be the full path to your destination directory. 
                  Example d:\myfolder";

// Copy the file
File.Copy(fullFilePath , copyToPath );

答案 1 :(得分:0)

使用此功能:

System.IO.File.Copy(FileToCopy, NewCopy)

答案 2 :(得分:0)

将文件从一个文件夹移动到其他文件夹非常容易。您可以在移动时更改文件名...

           string Tranfiles, ProcessedFiles;

           //Tranfiles = Server.MapPath(@"~\godurian\sth100\transfiles\" + Filename);

           Tranfiles = Server.MapPath(@"~\transfiles\" + Filename);
           if (File.Exists(Server.MapPath(@"~\transfiles\" + Filename)))
           {
               File.Delete(Server.MapPath(@"~\transfiles\" + Filename));
           }

           //ProcessedFiles = Server.MapPath(@"~\godurian\sth100\ProcessedFiles");
           ProcessedFiles = Server.MapPath(@"~\ProcessedFiles");

           File.Move(Tranfiles, ProcessedFiles);

现在您可以检查您的应用程序文件夹以确认移动过程状态