C# フォームデータでファイルをアップロードする方法
C#でのファイルのアップロードには、HttpClientクラスを使用してFormDataを送信することができます。以下は、簡単なサンプルコードです:
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
using (var client = new HttpClient())
{
using (var formData = new MultipartFormDataContent())
{
// 添加要上传的文件
var fileContent = new ByteArrayContent(System.IO.File.ReadAllBytes("path/to/file"));
fileContent.Headers.Add("Content-Type", "application/octet-stream");
formData.Add(fileContent, "file", "filename.txt");
// 发送POST请求
var response = await client.PostAsync("http://example.com/upload", formData);
if (response.IsSuccessStatusCode)
{
Console.WriteLine("文件上传成功");
}
else
{
Console.WriteLine("文件上传失败");
}
}
}
}
}
上記のコードでは、まずHttpClientオブジェクトが作成され、MultipartFormDataContentを使用してFormDataオブジェクトが作成されます。その後、ByteArrayContentを使用してアップロードするファイルの内容を読み込み、FormDataに追加されます。最後に、PostAsyncメソッドを使用してファイルをアップロードするPOSTリクエストが送信されます。
実際に使用する際には、path/to/fileとhttp://example.com/uploadを具体的なファイルパスとアップロードインタフェースのアドレスに置き換える必要があります。