我想将图片网址保存到会话中,这个网址我进入另一个页面加载然后加载到图像按钮。有可能吗?我使用以下代码保存图片网址;
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);
}
以上代码也会出错。所以请帮助我。
答案 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控件中的二进制数据)