如何在C#

时间:2016-06-30 09:17:53

标签: c# asp.net

我正在尝试从URL下载文件,我想要一个Popup,我可以决定在我的电脑上保存文件的位置。我知道如何将它保存到setlocation但这不是我想要的。

WebClient webClient = new WebClient();
webClient.DownloadFileAsync(new Uri("URL"), @"d:\location");

所以我知道这就是我下载它的位置,但是我需要能够将它保存到您选择的位置,通常是您下载任何内容时通常会获得的弹出窗口。

为了更好地了解这一点,我有2个radiobuttonlists,用户可以在其中检查他想要的主题,然后他可以从dropdownlist中选择要下载的文件,然后点击downloadbutton应该触发下载该文件。

2 个答案:

答案 0 :(得分:0)

使用DownloadFileAsync并收听DownloadFileFinished。首先将其下载到临时文件和事件DownloadFileFinished,显示弹出窗口并询问保存位置。然后只需将文件从临时文件复制到用户的文件名。 -要么- 在开始DownloadFileAsync之前显示SaveFileDialog。

答案 1 :(得分:0)

谈论桌面应用,您可以使用SaveFileDialog

The msdn code example

    private void button1_Click(object sender, System.EventArgs e)
 {
     Stream myStream ;
     SaveFileDialog saveFileDialog1 = new SaveFileDialog();

     saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"  ;
     saveFileDialog1.FilterIndex = 2 ;
     saveFileDialog1.RestoreDirectory = true ;

     if(saveFileDialog1.ShowDialog() == DialogResult.OK)
     {
         if((myStream = saveFileDialog1.OpenFile()) != null)
         {
             // Code to write the stream goes here.
             myStream.Close();
         }
     }
 }