【发布时间】:2022-06-11 02:53:51
【问题描述】:
//这里添加了从ftp服务器获取数据库备份文件(sample.bak)的代码,它不适用于.bak文件,仅适用于文本文件,获取数据库备份文件需要什么其他代码
FtpWebRequest request =
(FtpWebRequest) WebRequest.Create("ftp://192.168.1.44/MYDB/sample.bak");
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.Credentials = new NetworkCredential("User", "123456");
FtpWebResponse response = (FtpWebResponse) request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string names = reader.ReadToEnd();
using(StreamWriter file = File.CreateText("D:\\Download\\sample.bak")) {
file.WriteLine(names);
file.Close();
}
reader.Close();
response.Close();
【问题讨论】:
-
WebRequestMethods.Ftp.ListDirectory听起来甚至不像会下载任何东西的东西。WebRequestMethods.Ftp.DownloadFile可能是更好的匹配。 -
ListDirectory 照它说的做——它列出了目录中的内容!然后你需要找到你需要的文件并使用 DownloadFile 方法来获取它。
-
幸运的是,Microsoft 文档中有一篇标题为 How to: Download files with FTP 的文章,很容易通过 Google 搜索...您阅读了吗?如果没有,为什么不呢?
-
FTP 默认为文本模式,因此您可能需要设置为二进制模式。
-
感谢代码更改。但是现在您的描述似乎与代码不符。你还有什么问题吗?