public IActionResult UpdateArticle(ArticleModel article, IFormFile imageFile, string redirect) { if (imageFile != null) { CloudBlobContainer container = _azureStorageService.GetBlobContainer(_configuration["AzureStorageConnectionString"], "article-images"); Uri storageUri = container.StorageUri.PrimaryUri; // USE THIS CODE IF THE STORAGE EMULATOR GETS REMADE AND GIVES YOU A HARD TIME //var permissions = container.GetPermissionsAsync().Result; //permissions.PublicAccess = BlobContainerPublicAccessType.Container; //container.SetPermissionsAsync(permissions); ArticleImageModel articleImage = new ArticleImageModel(storageUri, imageFile); articleImage.UploadedByUserId = _userManager.GetUserId(this.User); articleImage.UploadedByUserName = this.User.Identity.Name; _imageService.UploadArticleImage(articleImage); article.ImageFileLocation = articleImage.ImageLocation; _articleService.UpdateArticle(article); return(RedirectToAction("EditArticle", new { articleId = article.ArticleId })); } _articleService.UpdateArticle(article); if (redirect.Equals("ArticleImageManager")) { return(RedirectToAction("ArticleImageManager", "ArticleImage", new { articleId = article.ArticleId })); } return(RedirectToAction("EditNewsletter", "Newsletter", new { article.NewsletterId })); }
public bool UploadArticleImage(ArticleImageModel image) { bool success; try { var container = _azureStorageService.GetBlobContainer(AzureConncetionString, "article-images"); var content = ContentDispositionHeaderValue.Parse(image.ImageFile.ContentDisposition); var fileName = content.FileName.Trim('"'); // Get a reference to a Block Blob var blockBlob = container.GetBlockBlobReference(fileName); success = blockBlob.UploadFromStreamAsync(image.ImageFile.OpenReadStream()).IsCompletedSuccessfully; EnterImageIntoDatabase(image); } catch (Exception ex) { _logger.LogError("Error in ArticleImageService/UploadArticleImage", ex); throw ex; } return(success); }