我正在尝试从URL下载文件,我想要一个Popup,我可以决定在我的电脑上保存文件的位置。我知道如何将它保存到setlocation但这不是我想要的。
WebClient webClient = new WebClient();
webClient.DownloadFileAsync(new Uri("URL"), @"d:\location");
所以我知道这就是我下载它的位置,但是我需要能够将它保存到您选择的位置,通常是您下载任何内容时通常会获得的弹出窗口。
为了更好地了解这一点,我有2个radiobuttonlists
,用户可以在其中检查他想要的主题,然后他可以从dropdownlist
中选择要下载的文件,然后点击downloadbutton应该触发下载该文件。
答案 0 :(得分:0)
使用DownloadFileAsync并收听DownloadFileFinished。首先将其下载到临时文件和事件DownloadFileFinished,显示弹出窗口并询问保存位置。然后只需将文件从临时文件复制到用户的文件名。 -要么- 在开始DownloadFileAsync之前显示SaveFileDialog。
答案 1 :(得分:0)
谈论桌面应用,您可以使用SaveFileDialog
。
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();
}
}
}