我对 gravatar 有一个非常奇怪的问题。
我有一个公开的默认图像example.com/image.jpg
很久以前(一个多星期前)我在公共网站上更改了这张图片。
从那时起,在localhost
我开发网站时,我仍然看到旧的默认图像,但是当我在远程域上发布网站时,默认图像显示为正确的图像,即新图像。
我已经多次清除浏览器缓存并在所有主要浏览器上进行了尝试。
任何人都知道为什么会这样?
这就是我创建网址的方式
string defaultImg = HttpContext.Current.Server.UrlEncode("http://example.com/image.jpg");
string URL = string.Format("http://www.gravatar.com/avatar/{0}?r=pg&s={1}&d={2}",hash,size,defaultImg);
然后请求头像
private bool makeAvatarRequest(string URL)
{
try
{
WebRequest request = WebRequest.Create(URL);
using (WebResponse response = request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
displayImage(responseStream);
return true;
}
}
}
catch (WebException ex)
{
return false;
}
}
并显示图像
private void displayImage(Stream stream)
{
HttpContext.Current.Response.ContentType = "image/png";
System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
MemoryStream temp = new MemoryStream();
img.Save(temp, ImageFormat.Png);
byte[] buffer = temp.GetBuffer();
HttpContext.Current.Response.OutputStream.Write(buffer, 0, buffer.Length);
img.Dispose();
temp.Dispose();
}