Не удалось десериализовать сериализованный объект MultipartFormDataContent - PullRequest
0 голосов
/ 25 апреля 2019

Вопрос:

Почему не удается сериализовать и десериализовать объект 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 для тестирования веб-API. Мне нужно POST-объект MultipartFormDataContent, но единственный способ увидеть, как это сделать с помощью этого фреймворка, - это использовать их функцию WithBody(string). Поэтому я пытаюсь сериализовать объект, передать новую строку этой функции и собираю некоторый код в исходном коде фреймворка для десериализации контента, когда его «Content-Type» равен «multipart / form-data». Это не удается, но, возможно, по другим причинам.

Я новичок в сериализации / десериализации / HTTP, поэтому я могу упустить некоторые детали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...