0

我们如何通过直接链接从数据库中检索图像?

我知道我们可以得到图像/getImage.aspx?id=1,例如。

但是我们怎样才能创建一个直接链接/image1.jpg呢?

4

2 回答 2

1

你可以使用URL Rewrite来解决你的问题

于 2013-03-31T06:22:02.750 回答
0
YOU SHOULD TRY THIS

 <asp:GridView ID="GridView1" runat="server" EnableViewState="false"
    AutoGenerateColumns="false"> 
   <Columns> 
    <asp:BoundField HeaderText="AutoId" DataField="AutoId" /> 
     <asp:BoundField HeaderText="File Name" DataField="FileName" />  
      <asp:TemplateField HeaderText="File"> 
      <ItemTemplate> <img src="ShowImage.ashx?autoId=<%# Eval("AutoId") %>" alt="<%# 
       Eval("FileName") %>" /> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="IsActive"> 
    <ItemTemplate> <%# Eval("Active").ToString().Equals("True") ? "Yes" : "No" %> 
     </ItemTemplate> 
      </asp:TemplateField> 
    </Columns> 
     </asp:GridView> 

   Behind Code: 
   string _connStr =
   ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; 
    protected void Page_Load(object sender, EventArgs e) 
  { 
     if (!IsPostBack) 
       { 
           BindFiles(); 
       } 
   } 

        private void BindFiles() 
        { 
          DataTable table = new DataTable(); 

         using (SqlConnection conn = new SqlConnection(_connStr)) 
             { 

                string sql = "SELECT AutoId, FileName, FileContent, Active FROM Files
                Order By AutoID ASC"; 

            using (SqlCommand cmd = new SqlCommand(sql, conn)) 
                { 

               using (SqlDataAdapter ad = new SqlDataAdapter(cmd)) 
                      { 
                          ad.Fill(table); 
                      } 

                 } 
                } 
           GridView1.DataSource = table; 
            GridView1.DataBind(); 
           } 
于 2013-03-31T08:24:19.767 回答