2013-05-13 124 views
0

我想將圖片網址保存到會話中,並且此網址我進入另一頁面加載,然後加載到圖像按鈕中。有沒有可能?我使用下面的代碼來保存圖片網址;如何將圖片網址保存到會話中

Image = Image1.ImageUrl.ToString(); 
         Session["logo"] = Convert.FromBase64String(Image); 

但我得到如下錯誤,就像這樣;

The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or a non-white space character among the padding characters.

另一個頁面我得到這個圖片的URL,

protected void Page_Load(object sender, EventArgs e) 
{ 
    Image img =(Image)Session["logo"]; 
    ImageButton1.Controls.Add(img); 
} 

上面的代碼還得到一個錯誤。所以請幫助我。

+3

第一個錯誤的哪部分你不明白?第二個錯誤是什麼意思? – SLaks 2013-05-13 14:10:58

+0

難道你不能把它作爲一個普通的字符串存儲嗎? 'Session [「Logo」] = Image1.ImageUrl.ToString()' – LukeHennerley 2013-05-13 14:11:35

+5

這裏有點混亂嗎?保存一個字符串並恢復一個圖像? – Steve 2013-05-13 14:12:57

回答

1

你想要的圖像的URL或二進制數據?您正在將URL(例如http://www.mycompany.com/logo.png)存儲在Image變量中,但隨後嘗試從Base64「解碼」它。它看起來像你試圖獲取圖像的二進制數據,並存儲在會話中。爲什麼不直接存儲URL而不是試圖解碼它?

string image = Image1.ImageUrl.ToString(); 
Session["logo"] = image; 


protected void Page_Load(object sender, EventArgs e) 
{ 
    string imgURL = Session["logo"]; 
    ImageButton1.Controls.Add(new Image() { ImageURL = imgURL }); 
} 

否則你將不得不創建一個HttpRequest捕捉圖像的二進制數據,然後嵌入在形式(這不是那麼簡單,添加圖像控制,因爲有無處但二進制數據在網絡控制中)