Мне нужно создать в рамках веб-API сервис, который будет возвращать PDF-файл локального файла просмотра отчетов.
В MVC вы можете сделать что-то вроде этого используя FileResult, но я изо всех сил пытаюсь воспроизвести это как HttpResponseMessage. Кто-нибудь когда-нибудь пробовал или добился успеха в попытке сделать что-то подобное? Все мои попытки преобразовать byte[] в поток и затем вывести его в виде HttpResponse заканчивались пустыми файлами.
public FileResult File() {
// Create a new dataset
StudentDataSet ds = new StudentDataSet();
// Create and fill the Student data table
// using the Student table adapter
StudentDataSetTableAdapters.StudentTableAdapter dta =
new StudentDataSetTableAdapters.StudentTableAdapter();
dta.Fill(ds.Student);
// Create a new report datasource with
// Name = the dataset name in the report,
// Value = the populated data table.
ReportDataSource rds = new ReportDataSource();
rds.Name = "DataSet1";
rds.Value = ds.Student;
ReportViewer rv = new Microsoft.Reporting.WebForms.ReportViewer();
rv.ProcessingMode = ProcessingMode.Local;
rv.LocalReport.ReportPath = Server.MapPath("~/Reports/StudentReport.rdlc");
// Add the new report datasource to the report.
rv.LocalReport.DataSources.Add(rds);
rv.LocalReport.Refresh();
byte[] streamBytes = null;
string mimeType = "";
string encoding = "";
string filenameExtension = "";
string[] streamids = null;
Warning[] warnings = null;
streamBytes = rv.LocalReport.Render("PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);
return File(streamBytes, mimeType, "StudentReport.pdf");
}
Подробнее здесь: https://stackoverflow.com/questions/265 ... ort-viewer
Веб-API и средство просмотра отчетов ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Средство просмотра отчетов на C# отображает данные таблицы вне таблицы в форме C#.
Anonymous » » в форуме C# - 0 Ответы
- 26 Просмотры
-
Последнее сообщение Anonymous
-