Отправка файла с контроллера на просмотр в MVC - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь передать файл с домашнего контроллера на просмотр.Значение 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);
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...