2013-11-29 182 views
0

我试图用这个代码从SQL数据库中获取的图像,并显示在Image1 ASP的控制:对路径的访问被拒绝asp.net

cn.Open(); 
    SqlCommand cm = new SqlCommand("select * from ImageCollection where img_id='" + DropDownList1.SelectedItem.ToString() + "'", cn); 
    SqlDataAdapter da = new SqlDataAdapter(cm); 
    SqlDataReader dr = cm.ExecuteReader(); 
    try 
    { 
     if (dr.Read()) 
     { 

      string image1 = Convert.ToString(DateTime.Now.ToFileTime()); 
      FileStream fs1 = new FileStream(image1, FileMode.CreateNew, FileAccess.Write); 
      byte[] bimage1 = (byte[])dr["passport_photo"]; 
      fs1.Write(bimage1, 0, bimage1.Length - 1); 
      fs1.Flush(); 
      Image1.ImageUrl = "~/images/"+DropDownList1.SelectedItem.ToString(); 
     } 
     dr.Close(); 
     cn.Close(); 
    } 
    catch (Exception ex) 
    { 
     throw ex; 
    } 

但我结束了与此:

访问路径'C:\ Program Files(x86)\ Common Files \ Microsoft Shared \ DevServer \ 10.0 \ 130301775684384514'被拒绝。

如何在不改变整个代码(方式)的情况下克服这一点。

+2

http://aspsnippets.com/Articles/Display-Byte-Array-as-Image-without-using-Generic-Handler-in-ASPNet.aspx –

回答

1
string base64String = Convert.ToBase64String(bytes, 0, bytes.Length); 
Image1.ImageUrl = "data:image/png;base64," + base64String; 
+0

同样的问题:(访问被拒绝。 – Aan

+0

是你的问题解决了我的朋友? –

+0

可以添加你以前的代码,它工作正常,我做错了什么! – Aan