为什么序列化和反序列化MultipartFormDataContent对象失败?
var serializedContent = JsonConvert.SerializeObject(content);
var deserializedContent = JsonConvert.DeserializeObject<MultipartFormDataContent>(serializedContent);
// Produces error: Newtonsoft.Json.JsonSerializationException: Cannot create
// and populate list type System.Net.Http.MultipartFormDataContent.
// Path '', line 1, position 1.
我的序列化内容如下:
"[{\"Headers\":[{\"Key\":\"Content-Type\",\"Value\":[\"application/json; charset=utf-8\"]},{\"Key\":\"Content-Disposition\",\"Value\":[\"form-data; name=page\"]}]},{\"Headers\":[{\"Key\":\"Content-Type\",\"Value\":[\"image/png\"]},{\"Key\":\"Content-Disposition\",\"Value\":[\"form-data; name=pageData; filename=image.png; filename*=utf-8''image.png\"]}]}]"
我目前正在使用RestFluencing框架进行一些Web API测试。我需要发布一个MultipartFormDataContent对象,但是我看到的使用此框架的唯一方法是使用其WithBody(string)
函数。因此,我尝试序列化对象,将新字符串传递给此函数,并在框架的源代码中将某些代码一起乱编,以在其“ Content-Type”等于“ multipart / form-data”时反序列化内容。这失败了,但也许是出于其他原因。
我是序列化/反序列化/ HTTP的新手,所以我可能缺少一些细节。