私はグラバターに非常に奇妙な問題を抱えています。
私はパブリックデフォルトイメージを持っていますexample.com/image.jpg
かなり前 (1 週間以上前) に公開 Web サイトでこの画像を変更しました。
それ以来localhost
、Web サイトを開発しているときに古いデフォルト イメージが表示されますが、リモート ドメインで Web サイトを公開すると、デフォルト イメージが正しいイメージ、新しいイメージとして表示されます。
ブラウザのキャッシュを何度もクリアし、すべての主要なブラウザで試しました。
なぜこれが起こっているのか誰にも手がかりがありますか?
これは私がURLを作成している方法です
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();
}