ASP.NET MVC: загрузка файла Excel - PullRequest
       3

ASP.NET MVC: загрузка файла Excel

6 голосов
/ 12 сентября 2011

Я загружаю файл Excel в метод действия C #, который возвращает FileResult, например:

return File(bindata, "application/octet-stream", "mytestfile.xls");

Когда я вручную перехожу к URL-адресу, который соответствует описанному выше методу, я получаю отредактированное представление файла. Файл не будет загружен с помощью диалога «Сохранить как».

Есть ли способ заставить загрузку происходить через Save As -dialog?

-pom-

Ответы [ 3 ]

8 голосов
/ 12 сентября 2011

Обычно, когда вы указываете имя файла для метода File, он автоматически добавляет заголовок Content-Disposition, чтобы всегда отображалось диалоговое окно «Сохранить как». Поэтому я немного удивляюсь, когда вы говорите, что ваш код не работает. Вы также можете попробовать вручную установить этот заголовок:

Response.AppendHeader("Content-Disposition", "attachment; filename=mytestfile.xls");
5 голосов
/ 12 сентября 2011

У меня такое ощущение, что вы получаете такое поведение из-за типа возвращаемого вами носителя.

Попробуйте изменить тип носителя на application / vnd.ms-excel, например:

return File(bindata, "application/vnd.ms-excel", "mytestfile.xls");
4 голосов
/ 12 сентября 2011

Можете ли вы попробовать это:

return new FileContentResult(bindata, "application/vnd.ms-excel")
            {
                FileDownloadName = "mytestfile.xls")
            };

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...