diff options
Diffstat (limited to 'Controllers/MediaController.cs')
| -rw-r--r-- | Controllers/MediaController.cs | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/Controllers/MediaController.cs b/Controllers/MediaController.cs index b476dec..6e04670 100644 --- a/Controllers/MediaController.cs +++ b/Controllers/MediaController.cs @@ -1,4 +1,5 @@ using HyperBooru.Services; +using HyperBooru.Util; using ImageMagick; using Microsoft.AspNetCore.Mvc; using MimeDetective; @@ -76,12 +77,7 @@ public class MediaController : Controller { } [HttpPost] - public IActionResult Upload( - [FromForm] string? checksum, - [FromForm] DateTime? lastAccessTime, - [FromForm] DateTime? lastWriteTime, - [FromForm] DateTime? createTime) { - + public IActionResult Upload() { if(Request.Form.Files.Count == 0) return BadRequest("No files"); @@ -89,10 +85,25 @@ public class MediaController : Controller { foreach(var formFile in Request.Form.Files) { try { + // Parse timestamps from headers + DateTime? lastAccessTime = + formFile.Headers["X-HyperBooru-LastAccessTime"] + .ElementAtOrDefault(0)? + .TryParseDateTimeUtc(); + DateTime? lastWriteTime = + formFile.Headers["X-HyperBooru-LastWriteTime"] + .ElementAtOrDefault(0)? + .TryParseDateTimeUtc(); + DateTime? createTime = + formFile.Headers["X-HyperBooru-CreateTime"] + .ElementAtOrDefault(0)? + .TryParseDateTimeUtc(); + media = mediaService.Create( formFile.OpenReadStream(), formFile.FileName, - checksum, + formFile.Headers["X-HyperBooru-Checksum"] + .ElementAtOrDefault(0), lastAccessTime, lastWriteTime, createTime); |
