2015-11-13 2 views
0

Я использую mysite.jsreportsonline.net для создания csv загрузки конечного пользователя. На сайте jsreports под моим логином он работает так, как это должно побуждать меня загрузить файл с расширением .csv. По какой-то причине в моем приложении MVC 4 он запрашивает загрузку, но не добавляет расширение .csv. в моем контроллере я тяну отчет от mysite.jsreportonline.net с моими учетными данными. Какие-нибудь подсказки, как это происходит?jsreports не добавляет расширение .csv в файл

ответ

0

Так что я использовал Response.AppendHeader неправильно. Вот как это должно было быть закодированы:

Response.AppendHeader("Content-Disposition", "attachment; filename=filename.csv"); 
Response.ContentType = "application/octet-stream"; 
0

заголовки ответа jsreport включают что-то вроде

Content-Disposition: attachment;filename=report.csv 

Это инструктирует браузер, чтобы открыть диалог загрузки для report.csv.

Если я правильно понимаю, вы делаете запрос на отправку сообщения jsreport с контроллера, а затем возвращаете поток, который вы возвращаете. Вы также должны добавить такой заголовок и свой ответ.

+0

Я использую 'ReportingService' который позволяет строке адреса, имя пользователя и пароль и' _reportingService.RenderAsync' который позволяет ShortID и входных данных. попробовал добавить 'Response.AddHeader', но это не сработало. Также попытался «FileExtension =« csv »;», и это тоже не сработало. –

+0

У вас, похоже, довольно распространенная проблема с возвратом файлов из mvc-контроллеров. Вы должны иметь возможность возвращать поток jsreport как любой другой. Вы попробовали что-то вроде этого? http://stackoverflow.com/a/5830215/1660996 –

+0

Я добавляю 'Response.AppendHeader (« content-Disposition: attachment; filename = filename.csv », report.ToString());' и то, что возвращается, "filename.csv- jsreport.Client.Report" в качестве имени файла для сохранения. –

Смежные вопросы