我正在网站上工作,我想将文件从我的应用程序文件夹复制到同一服务器上的其他文件夹(但这个文件夹不在我的应用程序文件夹中,即我在 C 驱动程序上的应用程序和目标文件夹在 D 驱动器上)。是这可能使用 Asp.Net 的任何功能吗?
提前致谢。
我正在网站上工作,我想将文件从我的应用程序文件夹复制到同一服务器上的其他文件夹(但这个文件夹不在我的应用程序文件夹中,即我在 C 驱动程序上的应用程序和目标文件夹在 D 驱动器上)。是这可能使用 Asp.Net 的任何功能吗?
提前致谢。
是的,有可能,您需要注意的唯一问题是 CopyTo 路径应该是完整路径,而不是相对路径(例如:c:\websites\myOtherFolder)。
这样,您可以成功地从 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 );
使用这个功能:
System.IO.File.Copy(FileToCopy, NewCopy)
将文件从一个文件夹移动到另一个文件夹非常容易。您可以在移动时更改文件名...
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);
就是这样,您现在可以检查您的应用程序文件夹以确认移动过程状态