2014-11-02 55 views
-3
/*path to get image and to display it.... */ 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.IO; 

namespace Uogchatear2 
{ 
    public partial class Index : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!IsPostBack) 
      { 
       uogChatearDataContext db = new uogChatearDataContext(); 
        var getpic = (from i in db.tbl_Profilepics where i.userId == 12 select i).FirstOrDefault(); 
        if (getpic!=null) 
        { 
         Imagebig.ImageUrl = getpic.imagepath; /*image path to display image*/ 
         Imagesmall.ImageUrl = getpic.imagepath; 
         imgtry.Src = getpic.imagepath; 
        } 
      } 
     } 
    } 
} 
+0

任何錯誤你越來越??如果您將圖像保存在服務器上並正確保存數據庫中的路徑,則可以輕鬆顯示它。 – 2014-11-02 15:16:42

回答

1

看着你的代碼,它不是很清楚,如果你是保存圖像數據在某些文件或它自己的數據庫。

如果您保存在文件中,那麼最簡單的選擇可能是將它們保存在可通過網址公開訪問的路徑中。您必須將該路徑的權限設置爲可由IIS用戶寫入。

如果您要保存在數據庫中的圖像二值,那麼你有兩個主要選擇:

  1. 使用輔助URL,可以從數據庫中讀取圖像和寫入二進制響應。乾淨的技術將是編寫一個HTTP處理程序(.axd),而不是使用Page(aspx)。從數據庫讀取圖像二進制數據並存儲在一個字節數組中,然後使用內容類型設置爲「images/xxx」的Response.BinaryWrite()方法,其中xxx將是圖像的類型:jpg,png,gif等。

  2. 使用Base64編碼的數據來顯示圖像,如果上傳的圖像不會很大。請注意,由於這些圖像將是html本身的一部分,因此base64編碼圖像可能會導致HTML加載延遲,具體取決於它們的大小。

如果上述任何一點不清楚或混淆,我們可以進一步討論。

更新:

同樣採取你的代碼第二次看,似乎更可能是你在一個文件中保存圖像。所以,你必須提到你的圖像所面臨的問題到底是什麼。保存圖像時是否存在一些問題?圖像是否保存,但未在瀏覽器中加載?或者,您可以簡單地設置列「imagepath」的值來存儲圖像的base64數據URI表示。