C#选择目录,默认目录

时间:2016-10-24 23:51:28

标签: c# download path ftp default

我是C#的新手,我已经完成了一些批处理文件和一些名为Arma 3的游戏,它使用的是SQF和C ++。所以请原谅我的无知,我正在努力学习。

我最近使用GUI而不是控制台应用编写了此代码。用于教育目的。它从我的FTP服务器下载并列出目录内容。但是,当我下载文件时,它表示它已下载,并且它不会显示在我的PC上的任何位置。 FTP服务器连接,甚至说它已正确传输。

如何获得"选择目录"出现的选项?甚至是默认路径?

我尝试了一些事情并且已经挂断了。 using System.Windows;& "Path"创建错误" using System.Windows; using System.Net; using System.IO; namespace Downloader { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void DLBTN_Click(object sender, RoutedEventArgs e) { FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://xxx.xxx.xxx.xxx/test.txt"); request.Method = WebRequestMethods.Ftp.DownloadFile; request.Credentials = new NetworkCredential("test", "test123"); FtpWebResponse response = (FtpWebResponse)request.GetResponse(); MessageBox.Show("Download Complete", response.StatusDescription); } private void CNTBTN_Click(object sender, RoutedEventArgs e) { FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://xxx.xxx.xxx.xxx/"); request.Method = WebRequestMethods.Ftp.ListDirectoryDetails; request.Credentials = new NetworkCredential("test", "test123"); FtpWebResponse response = (FtpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader reader = new StreamReader(responseStream); MessageBox.Show(reader.ReadToEnd()); } } } 含糊不清"

{{1}}

1 个答案:

答案 0 :(得分:2)

你实际上并没有任何事情。你得到了响应对象,但你永远不会调用response.GetResponseStream()来实际获取流,也不会打开要写入的文件。

你需要这样的东西(只是写下我的头顶,还没有测试过):

using (FileStream outStream = new FileStream(@"C:\outputfile.txt")) // or whatever
using (Stream inStream = response.GetResponseStream())
{
    inStream.CopyTo(outStream);  // Could also await instream.CopyToAsync() instead
}

如果要提示输入保存路径,则应查看SaveFileDialog类。