Rest Sharp, использующий API, который возвращает необработанный файл - PullRequest
0 голосов
/ 19 марта 2019

Я звоню в API, который возвращает файл.Мне говорят, что API возвращает ...

"Полезная нагрузка - это необработанные данные файла с заголовками http-типа."

API возвращает следующий ответ в response.content..

%PDF-1.4\n% ����\n4\n0\nobj\n<<\n/Type\n/Catalog\n/Names\n<<\n/JavaScript\n3\n0\nR\n>>\n/PageLabels\n<<\n/Nums\n[\n0\n<<\n/S\n/D\n/St\n1\n>>\n]\n>>\n/Outlines\n2\n0\nR\n/Pages\n1\n0\nR\n>>\nendobj\n5\n0\nobj\n<<\n/Creator\n(��\0G\0o\0o\0g\0l\0e)\n>>\nendobj\n6\n0\nobj\n<<\n/Type\n/Page\n/Parent\n1\n0\nR\n/MediaBox\n[\n0\n0\n720\n405\n]\n/Contents\n7\n0\nR\n/Resources\n8\n0\nR\n/Annots\n10\n0\nR\n/Group\n<<\n/S\n/Transparency\n/CS\n/DeviceRGB\n>>\n>>\nendobj\n7\n0\nobj\n<<\n/Filter\n/FlateDecode\n/Length\n9\n0\nR\n>>\nstream\nx��SMK\u00031\u0010\rx��!��4�L2�QQ)^��ڃ��

Это не полный ответ, поскольку он слишком велик для публикации.

Каков наилучший способ загрузить его в виде файла?

Итакпока я пробовал следующее ...

string file = ViewModel.Candidate.Id + "_" + g.ToString() + extension;
byte[] array = Encoding.ASCII.GetBytes(response.Content);
System.IO.File.WriteAllBytes(@"C:\Temp\" + file, array);

но он просто создает пустой файл

- ОБНОВЛЕНИЕ Я могу сохранить файл, но получаю следующее сообщение

enter image description here

1 Ответ

0 голосов
/ 19 марта 2019

Если вам нужно загрузить необработанные байты файла, используйте DownloadData метод

byte[] fileContent = client.DownloadData(request);
//using RestSharp.Extensions;
fileContent.SaveAs(filepath);
...