0

我想将图像 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.

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

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

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

4

1 回答 1

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来捕获图像的二进制数据,然后将其嵌入到表单中(这不像添加图像控件那么简单,因为在 Web 控件中除了二进制数据无处可去)

于 2013-05-13T14:18:23.407 回答