C#中的FtpWebRequest类来实现FTP服务器上文件的复制
时间: 2024-06-08 19:11:19 浏览: 161
利用FtpWebRequest类实现文件传送
4星 · 用户满意度95%
使用FtpWebRequest类可以实现FTP服务器上文件的复制,以下是一个示例代码:
```
string ftpUrl = "ftp://example.com/";
string ftpUserName = "username";
string ftpPassword = "password";
string sourceFilePath = "/source/file/path.txt";
string destFilePath = "/destination/file/path.txt";
//创建FTP请求
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpUrl + destFilePath);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(ftpUserName, ftpPassword);
//读取源文件内容
byte[] fileContents;
using (StreamReader sourceStream = new StreamReader(sourceFilePath))
{
fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
}
//将源文件内容上传到FTP服务器
request.ContentLength = fileContents.Length;
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(fileContents, 0, fileContents.Length);
}
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);
response.Close();
```
这个示例代码演示了如何将本地文件上传到FTP服务器上。如果要将FTP服务器上的文件复制到本地,可以使用类似的代码,只需要调整请求的Method属性为WebRequestMethods.Ftp.DownloadFile,并将读取本地文件内容的代码替换为将FTP服务器上的文件内容读取到本地即可。
阅读全文