Как загрузить файл с помощью Ajax в MVC. Если нет данных для генерации файла, тогда показывается метка ошибки. Я пытаюсь использовать метод результата действия, который возвращает файл. Я могу скачать файл. но не хотите обновлять страницу, если файл не загружается. Мой код подобенЗагрузить файл excel с помощью Ajax MVC
public ActionResult Excel(MyViewModel model)
{
var result = // DB call to get data
if (no data)
{
return **something**
}
else
{
byte[] excelContent =//passing result to my method(returns xls file in byte)
return File(
excelContent, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
reportName + " Report " + startDate + " - " + endDate + ".xlsx");
}
}
Что я должен вернуться к что-то Сейчас я возвращаюсь emptyResult для то поэтому я получил пустую страницу, если нет данных. Ajax не поддерживает загрузку файла. Этот код работает, если я отправляю форму и есть данные. Предложите то, что страница не будет обновляться, и обе задачи будут достигнуты. скачать 1. Файл, если данные 2. Показать метка ошибки, если нет данных
Есть ли альтернатива вместо сохранения файла? – Dev
Вы можете сохранить файл в TempData, например. Но когда пользователь обновляет страницу по какой-либо причине, файл, я считаю, исчезнет. Возможно, лучше сохранить на диск, и после загрузки вы сможете снова удалить файл с диска. –