Мне нужно вызвать Результат действия для генерации и загрузки файла Excel, но я хотел бы показать сообщение, если что-то пойдет не так.Это ASP.NET Core 2
На этапе генерации это не проблема, а также загрузка, но у меня есть проблемы с тем, как вызвать это действие и показать сообщение при возникновении ошибки.
Чтобы загрузить файл, который я обычно делаю:
[HttpGet]
public IActionResult MyFileDownload(int id)
{
if (id == 0) MESSAGE;
var filePath = GenerateAndSaveExcel(id);
if (string.IsNullOrEmpty(filePath)) MESSAGE;
using (var webClient = new System.Net.WebClient())
{
return File(new MemoryStream(webClient.DownloadData(filePath)), "application/pdf", "myfile.xlsx");
}
}
Функция GenerateAndSaveExcel просто создает новый файл Excel с использованием ClosedXml (если кому-то интересно, я могу поделиться тем, что я делаю) и возвращает путьновый файл.
Я вызываю функцию следующим образом:
<a asp-action="MyFileDownload" asp-controller="myController">download</a>
Но я бы хотел изменить способ вызова функции, потому что если id = 0 или что-то идет не так в генерацииЯ хотел бы отправить сообщение, обычно я использую son для этого и показываю его с помощью javascript.
Это может быть так просто, но я не вижу способа сделать это.Возможно, вызов Ajax мог бы решить эту проблему, но я не знаю, как управлять загрузкой.
Другое дело, мне нравится загрузка таким образом, поэтому файл идет прямо в папку загрузки.
Спасибо.