Я предполагаю, что вы хотите перезагрузить изображение при нажатии кнопки.
Прежде всего, это свойство ImageLocation
, вероятно, не будет учитывать ваш файл cookie сеанса, поэтому вам, возможно, придется загрузить изображение вручную. Вы уже использовали CookieContainer
, так что это хорошее начало.
Здесь мы хотим использовать новый HttpWebRequest
, чтобы загрузить изображение и прикрепить к нему тот же CookieContainer
, так как этот должен содержать идентификатор сеанса после вашего первого вызова.
Затем мы можем использовать HttpWebResponse
для создания объекта Image
и присвоить его свойству pictureBox1.Image
.
Все это вместе может выглядеть примерно так:
private void button1_Click(object sender, EventArgs e)
{
Uri uri = new Uri("http://localhost/proj/guess-my-fav/level14.php");
var answer = textBox1.Text;
string data = "guess=" + answer + "&level=14&time=opt";
CookieContainer cookies = new CookieContainer(); /* we want to have this for other call also
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.Method = WebRequestMethods.Http.Post;
request.CookieContainer = cookies;
request.KeepAlive = true;
request.ContentLength = data.Length;
request.ContentType = "application/x-www-form-urlencoded";
StreamWriter writer = new StreamWriter(request.GetRequestStream());
writer.Write(data);
writer.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string tmp = reader.ReadToEnd();
response.Close();
richTextBox1.AppendText(tmp); // log - delete this line
HttpWebRequest request2 = (HttpWebRequest)HttpWebRequest.Create("http://localhost/proj/guess-my-fav/1.jpg");
request2.CookieContainer = cookies;
HttpWebResponse response2 = (HttpWebResponse)request.GetResponse();
pictureBox1.Image = Image.LoadFromStream(response2.GetResponseStream());
}