2016-06-30 7 views
0

URLからファイルをダウンロードしようとしていますが、どこにファイルを保存するかをポップアップで決めたいと思っています。私はそれを定住地に救う方法を知っているが、それは私が望むものではない。URLでファイルをダウンロードするにはどうすればいいですか?

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

だから私は、これは私は、設定された場所を、それをダウンロードするが、私はあなたが何かをダウンロードするときに正常に取得通常のポップアップで選択した場所に保存できるようにする必要があるかであることを取得します。

私は2 radiobuttonlistsを持っています。ユーザーは彼が望んでいるトピックを確認してから、dropdownlistからダウンロードしたいファイルを選択してダウンロードボタンをクリックするとダウンロードできます。そのファイル。

+0

完全にわからない - [サーバーからのASP.netファイルのダウンロード]を行います(http://stackoverflow.com/questions/18477398/asp-net-file-サーバーからのダウンロード)ヘルプ? – stuartd

+1

これはデスクトップアプリですか、asp.netのウェブサイトですか?多くの違いを生み出します。 – HaukurHaf

+0

何をしようとしていますか?サーバー側で何かをダウンロードしたいのであれば、UIを持っていない可能性が高く、したがってポップアップを表示しないでしょう。ユーザーに何かをダウンロードさせたい場合は、C#で何もする必要はありません。ダウンロードリンクを指すHTMLリンクを置くだけで、ブラウザは自動的にポップアップを表示します。 – dustinmoris

答えて

0

DownloadFileAsyncを使用して、DownloadFileFinishedを聞きます。最初に一時ファイルにダウンロードし、イベントDownloadFileFinishedでポップアップを表示して保存場所を尋ねます。次に、ファイルを一時ファイルからユーザーのファイル名にコピーします。 - または - DownloadFileAsyncを開始する前にSaveFileDialogを表示します。

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(); 
     } 
    } 
} 
関連する問題