Контроллер asp.net возвращает файл и показывает кнопку для скачивания

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

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

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

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

1 ответ

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

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");
}
Другие вопросы по тегам