C#上传文件至FTP
时间: 2024-10-14 12:17:03 浏览: 45
在C#中,你可以使用`System.IO.Compression`命名空间下的`FtpWebRequest`类来上传文件到FTP服务器。以下是一个基本步骤的示例:
```csharp
using System;
using System.IO;
using System.Net;
public void UploadFileToFTP(string localFilePath, string ftpServerUrl, string username, string password)
{
try
{
// 创建FTP请求
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpServerUrl + "/path/to/upload");
// 设置请求方法为PUT(用于上传)
request.Method = WebRequestMethods.Ftp.UploadFile;
// 使用Basic认证进行身份验证
request.Credentials = new NetworkCredential(username, password);
// 添加文件头信息,指定要上传的本地文件
request.ContentLength = File.ReadAllBytes(localFilePath).Length;
request.ContentType = "application/octet-stream";
// 开始FTP会话并写入文件内容
using (Stream stream = request.GetRequestStream())
{
File.Copy(localFilePath, stream, true);
}
// 获取响应并检查结果
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Console.WriteLine("Upload successful. Server Response: {0}", response.StatusDescription);
response.Close();
}
catch (Exception ex)
{
Console.WriteLine($"Error uploading file: {ex.Message}");
}
}
```
在这个例子中,你需要替换`localFilePath`为你想要上传的本地文件路径,`ftpServerUrl`为FTP服务器地址,`username`和`password`分别为FTP服务器的用户名和密码。
阅读全文