Контроллер asp.net возвращает файл и показывает кнопку для скачивания - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть клиент и сервер asp .net app

У клиента есть форма для ввода некоторых данных, таких как имя, номер телефона электронной почты. Когда клиент нажимает «Отправить», эти данные отправляются на сервер, и сервер возвращается к байтовому массиву контроллера, отформатированному для файла xls. И мой вопрос: как разрешить клиенту загружать этот байтовый массив?

public async Task<> GenerateFile(ExampleModelForm query)
{
  byte[] result = await _proxyclient.getfile(query);
}

в 'результате' У меня есть этот массив byte[], как вернуть его клиенту и разрешить загрузку?

1 Ответ

0 голосов
/ 06 сентября 2018

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

public async Task<IActionResult> GenerateFile(ExampleModelForm query) {
    byte[] result = await _proxyclient.getfile(query);

    if(result == null)
        return NotFound();

    return File(result, "application/vnd.ms-excel", "some_filename.xls");
}
...