private void EncodeMessage(EncodeRequestDto request, Bitmap image) { var protector = Provider.CreateProtector(GetType().FullName, request.UserId.ToString(), "-", request.Username); var protectedMessage = protector.Protect(Encoding.UTF8.GetBytes(request.Message)); EncodeService.EnocodeMessage(image, protectedMessage); }
public async Task <IActionResult> EncodeRandom([FromBody] EncodeRequestDto request) { using var imageStream = await HttpClient.GetStreamAsync("https://picsum.photos/1000"); var image = new Bitmap(imageStream); return(EncodeRequest(request, image)); }
public async Task <IActionResult> EncodeFile([FromForm] EncodeRequestDto request, IFormFile file) { using var imageStream = new MemoryStream(); await file.CopyToAsync(imageStream); var image = new Bitmap(imageStream); return(EncodeRequest(request, image)); }
private IActionResult EncodeRequest(EncodeRequestDto request, Bitmap image) { try { EncodeMessage(request, image); } catch (MessageToLongException e) { return(BadRequest(new ErrorResponseDto { ErrorMessages = new[] { e.Message } })); } using var resultStream = new MemoryStream(); image.Save(resultStream, ImageFormat.Png); return(File(resultStream.ToArray(), "image/png")); }