如何将图片网址保存到会话中

时间:2013-05-13 14:09:59

标签: c# c#-4.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.

另一页我得到这个图片网址

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

以上代码也会出错。所以请帮助我。

1 个答案:

答案 0 :(得分:1)

您想要图片的网址还是二进制数据?您将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来捕获图像的二进制数据,然后将其嵌入到表单中(这不像添加图像控件那么简单,因为无处可去,但是Web控件中的二进制数据)