Получение только части файла из многочастного ответа с помощью RestSharp - PullRequest
0 голосов
/ 29 августа 2018

Мне не удалось найти способ загрузки только части файла из многоэлементного ответа на данные формы с помощью 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 Контент-кодирование: двоичное ... некоторые байты здесь, которые представляют аудиофайл ... ... ... - некоторый гид

...