У меня есть форма на одной из моих бритвенных страниц, которая при отправке генерирует byte[]
, а я возвращаю FileStreamResult
. Проблема в том, что все, что происходит, - это обновление страницы, и мне не предлагается загрузить файл.
Вот моя форма:
<form autocomplete="off" method="post" asp-page-handler="attendance" asp-route-id="@Model.Data.Id">
<div class="form-group">
<label class="font-weight-bold">Date of meeting</label>
<input class="form-control datepicker" id="meeting-date" type="text" value="DateOfMeeting" />
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block">Download document</button>
</div>
</form>
И это мой обработчик страницы:
public async Task<IActionResult> OnPostAttendanceAsync(int id)
{
var query = new AttendanceList.Query {
Date = DateOfMeeting,
SchoolId = id
};
var model = await _mediator.Send(query);
var stream = new MemoryStream(model.Data);
return new FileStreamResult(stream, ContentType.Pdf) {
FileDownloadName = "Attendance.pdf"
};
}
Я не понимаю, чего мне здесь не хватает.
Редактировать: Обработчик вызывается успешно. Если я установлю точку останова и отладлю ее, обработчик завершится успешно, но файл не будет отправлен в браузер.