Веб-API и средство просмотра отчетов ⇐ C#
Веб-API и средство просмотра отчетов
Мне нужно создать в рамках веб-API службу, которая будет возвращать PDF-файл локального файла просмотра отчетов.
В MVC вы можете сделать что-то подобное, используя FileResult, но я изо всех сил пытаюсь воспроизвести это как HttpResponseMessage. Кто-нибудь когда-нибудь пробовал или добился успеха в попытке сделать что-то подобное? Все мои попытки преобразовать byte[] в поток и затем вывести его в виде HttpResponse заканчивались пустыми файлами.
public FileResult File() { // Создаем новый набор данных StudentDataSet ds = новый StudentDataSet(); // Создаём и заполняем таблицу данных Student // используем адаптер таблицы Студента StudentDataSetTableAdapters.StudentTableAdapter dta = новый StudentDataSetTableAdapters.StudentTableAdapter(); dta.Fill(ds.Студент); // Создаем новый источник данных отчета с помощью // Имя = имя набора данных в отчете, // Значение = заполненная таблица данных. ReportDataSource rds = новый ReportDataSource(); rds.Name = "Набор Данных1"; rds.Value = ds.Студент; ReportViewer rv = новый Microsoft.Reporting.WebForms.ReportViewer(); rv.ProcessingMode = ProcessingMode.Local; rv.LocalReport.ReportPath = Server.MapPath("~/Reports/StudentReport.rdlc"); // Добавляем в отчет новый источник данных отчета. rv.LocalReport.DataSources.Add(rds); rv.LocalReport.Refresh(); байт []streamBytes = ноль; строка mimeType = ""; кодировка строки = ""; строка filenameExtension = ""; строка []streamids = ноль; Предупреждение [] предупреждения = ноль; streamBytes = rv.LocalReport.Render("PDF", null, выходной mimeType, исходящая кодировка, выходное расширение имени файла, исходящие идентификаторы потока, исходящие предупреждения); вернуть файл (streamBytes, mimeType, «StudentReport.pdf»); }
Мне нужно создать в рамках веб-API службу, которая будет возвращать PDF-файл локального файла просмотра отчетов.
В MVC вы можете сделать что-то подобное, используя FileResult, но я изо всех сил пытаюсь воспроизвести это как HttpResponseMessage. Кто-нибудь когда-нибудь пробовал или добился успеха в попытке сделать что-то подобное? Все мои попытки преобразовать byte[] в поток и затем вывести его в виде HttpResponse заканчивались пустыми файлами.
public FileResult File() { // Создаем новый набор данных StudentDataSet ds = новый StudentDataSet(); // Создаём и заполняем таблицу данных Student // используем адаптер таблицы Студента StudentDataSetTableAdapters.StudentTableAdapter dta = новый StudentDataSetTableAdapters.StudentTableAdapter(); dta.Fill(ds.Студент); // Создаем новый источник данных отчета с помощью // Имя = имя набора данных в отчете, // Значение = заполненная таблица данных. ReportDataSource rds = новый ReportDataSource(); rds.Name = "Набор Данных1"; rds.Value = ds.Студент; ReportViewer rv = новый Microsoft.Reporting.WebForms.ReportViewer(); rv.ProcessingMode = ProcessingMode.Local; rv.LocalReport.ReportPath = Server.MapPath("~/Reports/StudentReport.rdlc"); // Добавляем в отчет новый источник данных отчета. rv.LocalReport.DataSources.Add(rds); rv.LocalReport.Refresh(); байт []streamBytes = ноль; строка mimeType = ""; кодировка строки = ""; строка filenameExtension = ""; строка []streamids = ноль; Предупреждение [] предупреждения = ноль; streamBytes = rv.LocalReport.Render("PDF", null, выходной mimeType, исходящая кодировка, выходное расширение имени файла, исходящие идентификаторы потока, исходящие предупреждения); вернуть файл (streamBytes, mimeType, «StudentReport.pdf»); }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Средство просмотра отчетов на C# отображает данные таблицы вне таблицы в форме C#.
Anonymous » » в форуме C# - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-