Bug gefixt, der durch das TimeStamp-Objekt zustande kam.
This commit is contained in:
@@ -44,6 +44,7 @@ namespace ChatController.Utilities
|
||||
private static void DownloadImage(string uri, Action<ImageSource> callback)
|
||||
{
|
||||
var client = new RestClient(uri);
|
||||
|
||||
var request = new RestRequest
|
||||
{
|
||||
ResponseWriter = stream =>
|
||||
@@ -473,42 +474,49 @@ namespace ChatController.Utilities
|
||||
request.Headers[Constants.Token] = AuthToken;
|
||||
request.Headers[Constants.CustomerId] = Tenant;
|
||||
|
||||
using(var response = request.GetResponse())
|
||||
try
|
||||
{
|
||||
var responseStream = response.GetResponseStream();
|
||||
|
||||
if(responseStream is null)
|
||||
using(var response = request.GetResponse())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
var responseStream = response.GetResponseStream();
|
||||
|
||||
var rotation = Rotation.Rotate0;
|
||||
|
||||
using(var image = Image.FromStream(responseStream))
|
||||
{
|
||||
if(image.PropertyIdList.Contains(0x112))
|
||||
if(responseStream is null)
|
||||
{
|
||||
rotation = GetRotationFromExifTag(image.GetPropertyItem(0x112).Value[0]);
|
||||
return null;
|
||||
}
|
||||
|
||||
var bitmap = new BitmapImage();
|
||||
var rotation = Rotation.Rotate0;
|
||||
|
||||
var localStream = new MemoryStream();
|
||||
using(var image = Image.FromStream(responseStream))
|
||||
{
|
||||
if(image.PropertyIdList.Contains(0x112))
|
||||
{
|
||||
rotation = GetRotationFromExifTag(image.GetPropertyItem(0x112).Value[0]);
|
||||
}
|
||||
|
||||
image.Save(localStream, image.RawFormat);
|
||||
var bitmap = new BitmapImage();
|
||||
|
||||
localStream.Position = 0;
|
||||
var localStream = new MemoryStream();
|
||||
|
||||
bitmap.BeginInit();
|
||||
bitmap.StreamSource = localStream;
|
||||
bitmap.Rotation = rotation;
|
||||
bitmap.EndInit();
|
||||
bitmap.Freeze();
|
||||
image.Save(localStream, image.RawFormat);
|
||||
|
||||
cache.AddAvatar(uri, bitmap, userId, groupId);
|
||||
return cache.GetAvatar(uri, userId, groupId);
|
||||
localStream.Position = 0;
|
||||
|
||||
bitmap.BeginInit();
|
||||
bitmap.StreamSource = localStream;
|
||||
bitmap.Rotation = rotation;
|
||||
bitmap.EndInit();
|
||||
bitmap.Freeze();
|
||||
|
||||
cache.AddAvatar(uri, bitmap, userId, groupId);
|
||||
return cache.GetAvatar(uri, userId, groupId);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(Exception exception)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user