Asp.net mvc 当路径位于RDLC报告中的数据库中时,显示文件夹中的图像

Asp.net mvc 当路径位于RDLC报告中的数据库中时,显示文件夹中的图像,asp.net-mvc,rdlc,Asp.net Mvc,Rdlc,如何显示位于文件夹中且路径位于数据库中的学生图片,但我无法显示。我搜索了很多,但没有发现有用的内容。 请帮帮我,伙计们 受保护的无效页面加载(对象发送方,事件参数e) { 如果(!IsPostBack) { string query=@“选择StudentID,c.DocumentType作为DocumentID,DocumentNumber,Name,NameDari,FatherName,FatherNameDari,MobileNumber,Photo,b.ClassName作为Cla

如何显示位于文件夹中且路径位于数据库中的学生图片,但我无法显示。我搜索了很多,但没有发现有用的内容。 请帮帮我,伙计们

受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!IsPostBack)
{
string query=@“选择StudentID,c.DocumentType作为DocumentID,DocumentNumber,Name,NameDari,FatherName,FatherNameDari,MobileNumber,Photo,b.ClassName作为ClassID,d.LocationName作为LocationID,e.TeacherName作为TeacherID,a.Term,a.StudentsInfo a的分数
加入乙级
关于a.ClassID=b.ClassID
加入文档c
在c.DocumentID=a.DocumentID上
连接位置d
在d.LocationID=a.LocationID上
加入e
关于e.TeacherID=a.TeacherID”;
var data=db.Database.SqlQuery(查询);
ReportViewer1.SizeToReportContent=true;
ReportViewer1.LocalReport.ReportPath=Server.MapPath(“Certificates.rdlc”);
ReportViewer1.LocalReport.DataSources.Clear();
ReportDataSource ds=新的ReportDataSource(“证书”,数据);
ReportViewer1.LocalReport.DataSources.Add(ds);
this.ReportViewer1.LocalReport.EnableExternalImages=true;
ReportViewer1.LocalReport.Refresh();
}
}

首先,确保已在RDLC报表设计器中完成以下步骤:

1)从图像源属性设置“外部”模式

2)使用上下文菜单中的
Add parameter
创建一个报告参数,以保存代码隐藏中插入的路径

然后,您可以在启用
EnableExternalImages
后尝试以下示例:

this.ReportViewer1.LocalReport.EnableExternalImages = true;

/* begin added part */

// get absolute path to Project folder
string path = new Uri(Server.MapPath("~/path/to/Project/folder")).AbsoluteUri; // adjust path to Project folder here

// set above path to report parameter
var parameter = new ReportParameter[1];
parameter[0] = new ReportParameter("ImagePath", path); // adjust parameter name here
ReportViewer1.LocalReport.SetParameters(parameter);
/* end of added part */

ReportViewer1.LocalReport.Refresh();
然后,在报表表达式编辑器中,定义一个简单表达式,将
ReportParameter
中插入的路径与数据库中存储的路径连接起来(此处参数名称应与上面示例代码中的
ReportParameter
匹配):

参考资料:


首先,确保已在RDLC报表设计器中完成以下步骤:

1)从图像源属性设置“外部”模式

2)使用上下文菜单中的
Add parameter
创建一个报告参数,以保存代码隐藏中插入的路径

然后,您可以在启用
EnableExternalImages
后尝试以下示例:

this.ReportViewer1.LocalReport.EnableExternalImages = true;

/* begin added part */

// get absolute path to Project folder
string path = new Uri(Server.MapPath("~/path/to/Project/folder")).AbsoluteUri; // adjust path to Project folder here

// set above path to report parameter
var parameter = new ReportParameter[1];
parameter[0] = new ReportParameter("ImagePath", path); // adjust parameter name here
ReportViewer1.LocalReport.SetParameters(parameter);
/* end of added part */

ReportViewer1.LocalReport.Refresh();
然后,在报表表达式编辑器中,定义一个简单表达式,将
ReportParameter
中插入的路径与数据库中存储的路径连接起来(此处参数名称应与上面示例代码中的
ReportParameter
匹配):

参考资料:


能否提供DB中的照片/图像路径值的外观?如果它包含绝对路径,您可以通过表达式将其包含在内,否则您需要为目标路径设置一个报告参数,并在表达式中组合所有路径。它只包含少数路径,如Project/photos/ImageName.jpg您可以提供DB中的照片/图像路径值的外观吗?如果它包含绝对路径,您可以通过表达式包含它,否则您需要为目标路径设置一个报告参数,并在表达式中组合所有路径。它只包含少数路径,如Project/photos/ImageName.jpg
=Parameters!ImagePath.Value + Fields!Photo.Value