C# 图像不显示在网页中
我正在使用VS2010开发一个web应用程序。我将上载的图像存储在服务器的物理路径中,并在IIS 7.5中创建了虚拟路径(下面的屏幕截图)。在授权中,会显示一条警告。对于使用belo代码,我尝试从服务器检索图像,但未显示图像。问题出在哪里,在虚拟路径中还是在代码中提到的路径中C# 图像不显示在网页中,c#,asp.net,.net,iis,C#,Asp.net,.net,Iis,我正在使用VS2010开发一个web应用程序。我将上载的图像存储在服务器的物理路径中,并在IIS 7.5中创建了虚拟路径(下面的屏幕截图)。在授权中,会显示一条警告。对于使用belo代码,我尝试从服务器检索图像,但未显示图像。问题出在哪里,在虚拟路径中还是在代码中提到的路径中 private void CallImage() { SqlConnection SqlCon = new SqlConnection(GetConnectionString()); S
private void CallImage()
{
SqlConnection SqlCon = new SqlConnection(GetConnectionString());
SqlCon.Open();
string query = "SELECT Cmp_DocPath FROM Company_Info WHERE
Vendor_ID= '" + ddlVendorID.SelectedValue + "'";
SqlCommand SqlCmd = new SqlCommand(query, SqlCon);
SqlDataAdapter da = new SqlDataAdapter(SqlCmd);
DataTable dt = new DataTable();
da.Fill(dt);
string ImageName = Convert.ToString(dt.Rows[0][0].ToString());
Image1.ImageUrl = this.ResolveUrl("D:/Upload/Commerical Certificates/"+ImageName);
// Image1.ImageUrl = this.ResolveUrl("D:\\Upload\\Commerical Certificates\\"+ImageName);
// Image1.ImageUrl = this.ResolveUrl("~\\Upload\\Commerical Certificates\\"+ImageName);
SqlCon.Close();
}
您使用的用户名在服务器上可能没有读/写权限。转到相应用户的用户设置并启用读写权限。还要检查图像的路径是否正确。希望有帮助。你不能将一个物理位置引用到一个图像上,而期望它在网站上工作。将到映像的路径存储为来自站点根目录的虚拟路径。例如: 如果您的站点根目录位于:
d:\inetpub\mysite\
您的图片位于:
d:\inetpub\mysite\uploads\images\
那么数据库中的虚拟路径需要是:
~\uploads\images\image1.jpg
~\uploads\images\image2.jpg
然后可以将其设置为ImageUrl属性,不需要解析(图像控件会自动进行解析)
我的猜测是,出现此问题的原因是,您试图引用不在网站中的图像,即使您通过访问网络服务(IIS_IUSRS)在开发环境中工作,但一旦将此应用程序移动到生产环境中,您也会遇到问题。更不用说在安全性和模块性方面,这是一种非常糟糕的方法。那么渲染图像源等于什么呢?