Мне не удалось найти способ загрузки только части файла из многоэлементного ответа на данные формы с помощью RestSharp.
Мой код выглядит так:
var path = @"C:\Temp\test.wav";
var client = new RestClient(_hostUri);
byte[] fileContent = File.ReadAllBytes(path);
RestRequest request = new RestRequest(methodName, Method.POST);
request.AlwaysMultipartFormData = true;
request.AddParameter("JsonPart", formatted, ParameterType.RequestBody);
request.AddFile("AudioPart", fileContent, "test.wav");
var response = client.Execute(request);
byte[] AudioBytes = response.RawBytes;
using (FileStream fs = File.Create("AudioTest.wav"))
{
fs.Write(AudioBytes, 0, AudioBytes.Length);
}
Когда я получаю RawBytes или Content, они содержат обе части, байты json и аудио файла. Поэтому мой вопрос заключается в том, каков наилучший способ получить аудиофайл из всего контента?
Мой ответ.RawBytes и response.Content выглядит следующим образом:
- какой-то гид
Тип контента: приложение / JSON; кодировка = UTF-8
Content-Disposition: форма-данные; Имя = Json
{ "Типа": "сообщение", "идентификатор": нулевой, "метка": "2018-08-27T13: 40: 19,8311239 + 00: 00", "localTimestamp": нулевой, "serviceUrl": "локальный"}
- некоторый гид
Тип контента: аудио / WAV
Содержание-Диспозиция: вложение; имя файла = AudioFromTts.wav; Имя = Audio
Контент-кодирование: двоичное
...
некоторые байты здесь, которые представляют аудиофайл
...
...
...
- некоторый гид