C#需要发送文件到\\192.168.130.32\\cyg目录,应该怎么做
时间: 2024-09-27 14:17:24 浏览: 53
在C#中,你可以使用`System.IO`命名空间下的`File.Copy`方法或`FileStream`和`NetworkStream`等类来进行文件的网络传输。这里是一个基本的例子,假设你已经有了一个本地文件路径`sourceFilePath`:
```csharp
using System;
using System.IO;
public void SendFileToServer(string sourceFilePath)
{
string remotePath = "\\192.168.130.32\\cyg";
try
{
// 使用File.Copy复制文件到服务器路径
File.Copy(sourceFilePath, "tcp://" + remotePath, true); // 参数true表示同步完成再返回
Console.WriteLine("文件已成功发送到服务器");
}
catch (Exception ex)
{
Console.WriteLine($"文件发送失败: {ex.Message}");
}
}
```
如果你选择使用`FileStream`和`NetworkStream`直接操作流,可以这样做:
```csharp
using (FileStream sourceFileStream = File.OpenRead(sourceFilePath))
{
using (TcpClient client = new TcpClient())
{
client.Connect(new IPEndPoint(IPAddress.Parse("192.168.130.32"), 21)); // 假设默认端口是21,如果是FTP你需要知道正确的端口
NetworkStream networkStream = client.GetStream();
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = sourceFileStream.Read(buffer, 0, buffer.Length)) > 0)
{
networkStream.Write(buffer, 0, bytesRead);
}
sourceFileStream.Close();
networkStream.Flush();
networkStream.Close();
}
}
```
记得替换上述代码中的IP地址、端口号以及路径,确保它们准确无误。
阅读全文