public async Task <IActionResult> CreateUploadAsync(IFormCollection data, IFormFile formFile) { try { formFile.OpenReadStream(); using var memoryStream = new MemoryStream(); await formFile.CopyToAsync(memoryStream); var image = new Bitmap(memoryStream); var post = new UploadPost(image, data[Constants.CategoryKey], data[Constants.UsernameKey], data[Constants.IPAddressKey], DateTime.Now, data[Constants.NameKey], data[Constants.DescriptionKey], Int32.Parse(data[Constants.RatingKey]), Double.Parse(data[Constants.PriceKey]), data[Constants.PriceUnitKey], data[Constants.ExtensionKey], Int32.Parse(data[Constants.ImageSizeKey])); var result = await _uploadManager.CreateUploadAsync(post, Constants.NoValueInt).ConfigureAwait(false); return(Ok(new SuccessResponse() { Message = result.Message, ExceptionOccurred = result.ExceptionOccurred, Success = result.Data })); } catch { // Return generic server error. return(StatusCode(StatusCodes.Status500InternalServerError)); } }