async Task <IActionResult> SaveImage(string imagePath, Size size) { if (!Request.Form.Files.Any()) { _logger.LogWarning("Tried to upload image with no body/image attached"); return(BadRequest("No Image supplied")); } // Ensure it's a valid extension var extension = Path.GetExtension(Request.Form.Files[0].FileName).ToLower(); if (!(new[] { ".jpg", ".png", ".jpeg" }.Any(s => extension == s))) { return(BadRequest("File must be .jpg or .png")); } // Get Path to the speaker directory var path = Path.Combine("img", imagePath, Request.Form.Files[0].FileName).Replace("\\", "/").ToLower(); using (var newStream = ResizeImage(Request.Form.Files[0].OpenReadStream(), size)) { // Write It newStream.Position = 0; var result = await _imageService.StoreImage("acc", path, newStream.ToArray()); if (result.Success) { return(Created(result.ImageUrl, new { succeeded = result.Success })); } else { return(BadRequest(result.Exception.Message)); } } }
public async Task <MediaObjectInfo> NewMediaObjectAsync(string blogid, string username, string password, MediaObject mediaObject) { await EnsureUser(username, password); var bits = Convert.FromBase64String(mediaObject.bits); var result = await _imageService.StoreImage(mediaObject.name, bits); if (result.Success) { var url = result.ImageUrl; // Create the response MediaObjectInfo objectInfo = new MediaObjectInfo(); objectInfo.url = url; return(objectInfo); } throw new MetaWeblogException("Failed to upload Media Object"); }
public async void ShouldFailIfEmptyRequest() { var response = await _imageStorageService.StoreImage("", "", new byte[] { }); Assert.False(response.Success); }