private async Task SaveFormFiles(RequestForm request) { if (request.Files == null) { return; } _logger.LogInformation($"Downloading {request.Files.Count} files"); foreach (var formFile in request.Files) { if (formFile.Length > 0) { var filePath = Path.Combine(Directory.GetCurrentDirectory(), $"Upload-{Guid.NewGuid().ToString()}.jpg"); using (var stream = System.IO.File.Create(filePath)) { await formFile.CopyToAsync(stream); } using (var magickImage = new MagickImage(formFile.OpenReadStream())) { magickImage.Resize(_resizer); magickImage.Write(GetPreviewFilePath(filePath)); } } } }
public async Task <IActionResult> PostImage([FromForm] RequestForm request) { try { await SaveFormFiles(request); await DownloadImage(request.ImageUrl); await SaveBase64Image(request.Json); } catch (Exception ex) { _logger.LogError($"{ex.Message} {ex.StackTrace}"); throw; } return(Ok()); }