我在我的应用程序中使用FileUploader控件。我想保存一个文件到指定的文件夹。如果这个文件夹不存在,我想先创建它,然后将我的文件保存到这个文件夹。如果文件夹已经存在,那么只需将文件保存在其中。
我该怎么做呢?
我在我的应用程序中使用FileUploader控件。我想保存一个文件到指定的文件夹。如果这个文件夹不存在,我想先创建它,然后将我的文件保存到这个文件夹。如果文件夹已经存在,那么只需将文件保存在其中。
我该怎么做呢?
当前回答
使用下面的代码。我使用这个代码文件复制和创建一个新文件夹。
string fileToCopy = "filelocation\\file_name.txt";
String server = Environment.UserName;
string newLocation = "C:\\Users\\" + server + "\\Pictures\\Tenders\\file_name.txt";
string folderLocation = "C:\\Users\\" + server + "\\Pictures\\Tenders\\";
bool exists = System.IO.Directory.Exists(folderLocation);
if (!exists)
{
System.IO.Directory.CreateDirectory(folderLocation);
if (System.IO.File.Exists(fileToCopy))
{
MessageBox.Show("file copied");
System.IO.File.Copy(fileToCopy, newLocation, true);
}
else
{
MessageBox.Show("no such files");
}
}
其他回答
从多个答案衍生/组合而来,对我来说,实现它就像这样简单:
public void Init()
{
String platypusDir = @"C:\platypus";
CreateDirectoryIfDoesNotExist(platypusDir);
}
private void CreateDirectoryIfDoesNotExist(string dirName)
{
System.IO.Directory.CreateDirectory(dirName);
}
目录中。CreateDirectory解释了如果FilePath不存在,如何尝试创建FilePath。
目录中。Exists命令用于检查FilePath是否存在。但是,您不需要这样做,因为CreateDirectory将为您检查它。
你可以使用try/catch子句来检查它是否存在:
try
{
if (!Directory.Exists(path))
{
// Try to create the directory.
DirectoryInfo di = Directory.CreateDirectory(path);
}
}
catch (IOException ioex)
{
Console.WriteLine(ioex.Message);
}
下面的代码是我使用的最好的代码行,如果不存在,将创建目录。
System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/temp/"));
如果目录已经存在,此方法不会创建新目录,但会返回现有目录的DirectoryInfo对象。>
使用下面的代码按如何使用文件上传服务器控件动态创建文件夹?:
string subPath ="ImagesPath"; // Your code goes here
bool exists = System.IO.Directory.Exists(Server.MapPath(subPath));
if(!exists)
System.IO.Directory.CreateDirectory(Server.MapPath(subPath));