是的,C# WebClient 类可以用于文件上传。以下是一个简单的示例,展示了如何使用 WebClient 类上传文件:
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// 要上传的文件路径
string filePath = @"C:\path\to\your\file.txt";
// 创建 WebClient 实例
using (WebClient webClient = new WebClient())
{
// 设置上传文件的内容类型
webClient.Headers.Add("Content-Type", "application/octet-stream");
// 读取文件内容并转换为字节数组
byte[] fileBytes = File.ReadAllBytes(filePath);
// 设置要上传的文件名
string fileName = Path.GetFileName(filePath);
// 使用 WebClient 的 UploadFile 方法上传文件
byte[] responseBytes = await webClient.UploadFileTaskAsync("https://example.com/upload", fileName, fileBytes);
// 将响应字节数组转换为字符串
string response = Encoding.UTF8.GetString(responseBytes);
// 输出响应
Console.WriteLine("Response: " + response);
}
}
}
在这个示例中,我们首先创建了一个 WebClient 实例,并设置了上传文件的内容类型。然后,我们读取了要上传的文件内容并将其转换为字节数组。接下来,我们设置了要上传的文件名,并使用 WebClient 的 UploadFileTaskAsync 方法上传文件。最后,我们将响应字节数组转换为字符串并输出响应。