0

图像文件名通过添加vendorID之前的唯一存储,如“200018hari”。下图显示了filename存储在列中的表Cmp_DocPath

文件名存储在 Cmp_DocPath 列中的表

VendorID当用户从下拉列表中选择时,我想显示服务器文件夹“D:\Upload\Commerical Certificates”中的特定图像vendorID。(图片不会显示带有下拉列表的完整表单设计。)

表格设计

我在内联代码中尝试此操作,但图像不显示。但我知道如果用户VendorID从下拉列表中选择其他,这对我没有帮助。

我将如何使用 C# 中的代码隐藏?

 <asp:Image ID="Image1" runat="server" Height="400px" Width="400px" 
    ImageUrl ="AdminCompanyInfo.aspx?FileName=~/Upload/Commerical Certificates/200027mcp.png"/>
4

2 回答 2

0

在朋友的建议下,我更改了将图片存储在物理路径“D:\Upload”中的代码,并将上传的图片存储在“D:\inetpub\wwwroot\”中。最后,在 IIS 中创建虚拟目录,并将“D:\inetpub\wwwroot\Upload”作为物理路径。下面的 C# 代码从虚拟路径中检索图像。

      private void CallImage()
      {
       SqlConnection SqlCon = new SqlConnection(GetConnectionString());
       SqlCon.Open();
       string query = "SELECT FilePath FROM CompanyInfo 
              WHERE VendorID= '" + 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 = ("~\\Upload\\Commerical Certificates\\" + ImageName);
       SqlCon.Close();
     }
于 2012-11-12T05:11:51.563 回答
0

如果您试图获取Cmp_DocPath与 a 关联的图像 (),则VendorID需要使用 a Generic Handler。以下应该是该技术的Generic Handler

  1. Generic Handler将从数据库中读取图像名称
  2. 之后它将图像文件读入二进制数组
  3. 之后它将写入数组以响应请求。

那一定行得通。

于 2012-10-10T09:04:28.870 回答