问题描述
我正在创建一个动态文件夹,如图像中的设计所示。我需要在指向我创建的文件夹的链接中下载两种文件类型的数据,但如何将其下载到我创建的文件夹中?
klasor = textBox1.Text;
var yol = Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + @"Hilal Beyza\source\" + klasor);
通过这种方式,我在 'klasor' 变量中创建了一个文件夹。
public void indirButon_Click(object sender,EventArgs e)
{
string fileName = "C:\\Users\\Hilal Beyza\\Desktop\\projeler\\LinkProgram\\LinkProgram\\bin\\Debug\\Hilal Beyza\\yol\\webcams.mp4";
WebClient web = new WebClient();
web.DownloadFileCompleted += new AsyncCompletedEventHandler(Dosyaİndirme);
Uri DosyaAdresi = new Uri(label3.Text);
web.DownloadFile(DosyaAdresi,fileName);
}
我给我下载的文件一个静态路径,如上所述。如何将其转移到我创建的文件中?
解决方法
建议:当您编写程序时,尝试使用逻辑名称命名组件,例如 txtUri、txtFolderName、btnDownload,这有助于理解。
如果您有文件名和动态文件夹,则可以。
public void indirButon_Click(object sender,EventArgs e)
{
string fileName = GetFileName("webcams.mp4");
WebClient web = new WebClient();
web.DownloadFileCompleted += new AsyncCompletedEventHandler(DosyaIndirme);
Uri DosyaAdresi = new Uri(label3.Text);
web.DownloadFile(DosyaAdresi,fileName);
}
此方法使用新的动态文件夹获取文件名。
private static string GetFileName(string fileName)
{
string klasor = textBox1.Text;
string directoryPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,@"Hilal Beyza\source\",klasor);
if (!Directory.Exists(directoryPath))
Directory.CreateDirectory(directoryPath);
return Path.Combine(directoryPath,fileName);
}
如果用户通过完整路径,您需要删除适应directoryPath
string directoryPath = Path.Combine(textBox1.Text);