2013-11-29 242 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