При загрузке файла я получаю ответ от вызова веб-API - PullRequest
0 голосов
/ 05 ноября 2019

В моем коде я делаю вызов API, который должен ответить мне с файлом (Excel), я хочу сохранить этот файл на моем компьютере, я пробовал много решений, представленных здесь, но мне кажется, ничего не работает

            HttpResponseMessage response = client.PostAsync(url, stringContent).Result;
            if (response.IsSuccessStatusCode)
            {


                string results = response.Content.ReadAsStringAsync().Result;
                byte[] toBeReturned = JsonConvert.DeserializeObject<byte[]>(results);
                log.Info("downloadMasterList FINISH");
                return File(toBeReturned, "application/octet-stream");
            }

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019

После получения ответа (при условии, что вы получаете byte[]), вам нужно сохранить его на локальном диске. Вы можете использовать File.WriteAllBytes для сохранения.

var saveDir = Path.Combine(Path.GetTempPath(), "some_excel.xlsx");
using (var client = new HttpClient())
{
    var response = client.PostAsync(url, content).Result;
    if (response.IsSuccessStatusCode)
    {
        var content = response.Content.ReadAsByteArrayAsync().Result;
        File.WriteAllBytes(saveDir, content);
    }
}
0 голосов
/ 05 ноября 2019
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...