从 Internet 链接下载到动态创建的文件夹此文件夹的路径如何?

问题描述

enter image description here

我正在创建一个动态文件夹,如图像中的设计所示。我需要在指向我创建的文件夹的链接中下载两种文件类型的数据,但如何将其下载到我创建的文件夹中?

        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);