FormData 是一种用于构建表单数据的格式,通常用于文件上传和表单提交。在 C# 中,你可以使用 HttpClient
类来发送 FormData 格式的数据。
FormData 主要有以下几种类型:
以下是一个示例代码,展示如何使用 C# 发送多个 FormData 格式的 JSON 列表和图像:
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using Newtonsoft.Json;
class Program
{
static async System.Threading.Tasks.Task Main(string[] args)
{
var client = new HttpClient();
// 创建 FormData
var formData = new MultipartFormDataContent();
// 添加 JSON 列表
var jsonList = new List<dynamic>
{
new { Name = "Item1", Value = 1 },
new { Name = "Item2", Value = 2 }
};
var jsonString = JsonConvert.SerializeObject(jsonList);
var jsonContent = new StringContent(jsonString, Encoding.UTF8, "application/json");
formData.Add(jsonContent);
// 添加图像文件
var imageFile = new FileInfo("path/to/image.jpg");
var imageContent = new ByteArrayContent(File.ReadAllBytes(imageFile.FullName));
imageContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data");
formData.Add(imageContent);
// 发送请求
var response = await client.PostAsync("https://your-api-endpoint.com/upload", formData);
// 处理响应
if (response.IsSuccessStatusCode)
{
Console.WriteLine("上传成功");
}
else
{
Console.WriteLine($"上传失败,状态码: {response.StatusCode}");
}
}
}
通过以上示例代码和参考链接,你应该能够成功发送多个 FormData 格式的 JSON 列表和图像。如果遇到具体问题,请提供更多详细信息以便进一步诊断。
领取专属 10元无门槛券
手把手带您无忧上云