From 5b2464a8113fa4a68c8749b3553a5924d2131d9f Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Mon, 19 Aug 2019 15:43:47 +0800 Subject: Add avatar 304. --- Timeline/Controllers/UserAvatarController.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'Timeline/Controllers/UserAvatarController.cs') diff --git a/Timeline/Controllers/UserAvatarController.cs b/Timeline/Controllers/UserAvatarController.cs index 710ca764..89d2650c 100644 --- a/Timeline/Controllers/UserAvatarController.cs +++ b/Timeline/Controllers/UserAvatarController.cs @@ -57,10 +57,22 @@ namespace Timeline.Controllers [Authorize] public async Task Get(string username) { + const string IfModifiedSinceHeaderKey = "If-Modified-Since"; try { - var avatar = await _service.GetAvatar(username); - return File(avatar.Data, avatar.Type); + var avatarInfo = await _service.GetAvatar(username); + var avatar = avatarInfo.Avatar; + if (Request.Headers.TryGetValue(IfModifiedSinceHeaderKey, out var value)) + { + var t = DateTime.Parse(value); + if (t > avatarInfo.LastModified) + { + Response.Headers.Add(IfModifiedSinceHeaderKey, avatarInfo.LastModified.ToString("r")); + return StatusCode(StatusCodes.Status304NotModified); + } + } + + return File(avatar.Data, avatar.Type, new DateTimeOffset(avatarInfo.LastModified), null); } catch (UserNotExistException e) { -- cgit v1.2.3