SOAP API - скачать бинарную запись многочастного ответа C#

Я пытаюсь использовать NBR API для моего сайта webex. Когда я запускаю SOAP-запрос downloadNBRStorageFile, он отвечает записью webex в потоке.

WebResponse response = request.GetResponse();
Stream responseStream = response.GetResponseStream();

Когда я вытаскиваю поток из ответа в C# поток и записываю его в файл. Поток и файл содержат дополнительные данные заголовка, которые не позволяют открыть файл в проигрывателе записей на основе сети.

Когда я проверяю загруженный файл из API в блокноте, он выглядит так:

------ = _ Part_281_1815085984.1458150816433 Content-Type: text / xml; charset = UTF-8 Content-Transfer-Encoding: двоичный Content-Id: <0CA08FF0D94F4292B948DF640C1DD4E2>

------ = _ Part_281_1815085984.1458150816433 Тип содержимого: application/octet-stream Content-Transfer-Encoding: двоичный Content-Id:

Личная комната Боба-20160108 1435-1.arf 648735 false ------=_Part_281_1815085984.1458150816433 Тип содержимого: application/octet-stream Content-Transfer-Encoding: двоичный Content-Id:

[1] èËæV¬æ d…. Случайные символы (данные файла.arf)


1) Как в C# я могу сохранить только данные файла, чтобы при сохранении в файле file.arf я мог открыть его

 WebResponse response = request.GetResponse();
        //  HttpWebResponse response = (HttpWebResponse)request.GetResponse();



        Stream responseStream = response.GetResponseStream();
        MemoryStream memoryStream = new MemoryStream();

        String test = responseStream.ToString();


        int count = 0;

        do
        {
            count = responseStream.Read(buffer, 0, buffer.Length);
            memoryStream.Write(buffer, 0, count);

            if (count == 0)
            {
                break;
            }
        }
        while (true);

        result = memoryStream.ToArray();


        FileStream fs = new FileStream("c:\\file5.arf", FileMode.OpenOrCreate, FileAccess.ReadWrite);

        fs.Write(result, 0, result.Length);

        fs.Close();
        memoryStream.Close();
        responseStream.Close();

Любая помощь по этому вопросу будет высоко ценится, так как я застрял на этом в течение нескольких дней. Я предполагаю, что мне нужно проанализировать многопоточный поток, чтобы сохранить только фактические данные файла, но это то, где я застрял.

0 ответов

Другие вопросы по тегам