2013-05-13 5 views
0

이미지 URL을 세션에 저장하고이 URL을 다른 페이지로드로 가져 와서 이미지 버튼에로드합니다. 그것은 가능하거나 불가능합니까? 이미지 URL을 저장하려면 다음 코드를 사용합니다.이미지 URL을 세션에 저장하는 방법

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

+0

일반 문자열로 저장할 수 없습니까? 'Session [ "Logo"] = Image1.ImageUrl.ToString()' – LukeHennerley

+5

약간의 혼란이 있습니까? 문자열을 저장하고 이미지를 복원 하시겠습니까? – Steve

답변

1

이미지의 URL 또는 이진 데이터를 원하십니까? Image 변수에 URL (예 : http://www.mycompany.com/logo.png)을 저장하고 있지만 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를 작성해야 할거야, 다음 포함이되지만으로데도이 없기 때문에 이미지 컨트롤을 추가로 간단하지 않습니다 형태 (의 웹 컨트롤의 이진 데이터)

관련 문제