Я пытаюсь передать файл с домашнего контроллера на просмотр.Значение EventID передается из представления в ajax-вызове в контроллер.Контроллер получает имя файла и путь, выполняя поиск в базе данных по EventID.Контроллер возвращает файл, но он не загружается в представлении, более чем вероятно, что я не обрабатываю его правильно в успешной части вызова ajax.Метод контроллера работает нормально, проблема в успешной части представления.
Представление
$('#btnDownloadReport').click(function () {
var data = {
EventID: selectedEvent.eventID,
}
downloadReport(data);
})
Вызов Ajax в представлении
function downloadReport(data) {
$.ajax({
type: "POST",
url: '/home/GetFiles',
data: data,
success: function (data) {
$('#myModal').modal('hide');
},
error: function () {
alert('Failed');
}
})
}
Метод действия контроллерав домашнем контроллере
public ActionResult GetFiles(int eventId)
{
ViewData["eventID"] = eventId;
using (MyDatabaseEntities1 dc = new MyDatabaseEntities1())
{
var sc = dc.ScanReports.FirstOrDefault(x => x.EventID == eventId);
var path = Path.Combine(Server.MapPath("~/App_Data/reports/"), sc.FileName + sc.FileExtension);
byte[] fileBytes = System.IO.File.ReadAllBytes(path);
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, sc.FileName);
}
}