ASP.NET - я создаю файл .XLS, и мне нужно отправить его посетителю - PullRequest
2 голосов
/ 29 апреля 2010

Когда пользователь нажимает кнопку, сервер генерирует файл Excel.

Когда он сгенерирован, мне нужно его отправить пользователю как стандартную загрузку.

Правильный ли способ сделать это, чтобы перенаправить пользователя к пути файла Excel?

Спасибо

Ответы [ 3 ]

3 голосов
/ 29 апреля 2010

Потоковое вложение

byte[] bytes = your generated file
Response.ClearHeaders();
Response.Clear();
Response.AddHeader( "Content-Disposition", "attachment; filename=bob.xls" );
Response.ContentType = "application/vnd.ms-excel";
Response.BinaryWrite( bytes );
Response.End();
1 голос
/ 29 апреля 2010

Обычно то, что я делаю, представляет пользователю ссылку на файл на странице - usu. обработчик, который фактически генерирует файл в реальном времени - затем используйте javascript, чтобы установить местоположение страницы в href в ссылке. Поскольку файл является вложением, он не перенаправляет страницу, а открывает диалог загрузки. Если по какой-либо причине загрузка не начинается, скажем, отключен JavaScript, пользователь всегда может щелкнуть ссылку для загрузки документа.

1 голос
/ 29 апреля 2010

Контролируете ли вы процесс создания файла? Вы можете установить тип содержимого и передать результат непосредственно в браузер, фактически не создав физическую копию файла Excel для сохранения шага.

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