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 ActionResult SubmitArticleImage(ArticleImageModel model) { var contentService = Services.ContentService; var article = contentService.GetById(model.ArticleId); if (model.MainImage != null && ModelState.IsValid) { string extension = Path.GetExtension(model.MainImage.FileName).Replace(".", ""); if (!utilities.ValidImageFileExtension(extension)) { ModelState.AddModelError("", "Only image file types are allowed (png, jpg, jpeg, gif, webp, tiff)"); return(PartialView(GetTasksViewPath("_ArticleImage"), model)); } var imageUdi = _mediaUploadService.CreateMediaItemFromFileUpload(model.MainImage, MEDIA_NEWS_FOLDER_ID, "Image"); article.SetValue(Article.GetModelPropertyType(x => x.MainImage).Alias, imageUdi); contentService.SaveAndPublish(article); string mediaUdi = article.GetValue("mainImage") != null?article.GetValue("mainImage").ToString() : ""; if (!string.IsNullOrEmpty(mediaUdi)) { Udi _imageUdi = Udi.Parse(mediaUdi); model.ImageUrl = Umbraco.PublishedContent(_imageUdi).Url(); } ViewData["successMessage"] = string.Format(" The file <b><i>{0}</i></b> was succesfully uploaded.<br />", model.MainImage.FileName); } return(PartialView(GetTasksViewPath("_ArticleImage"), model)); }
private bool EnterImageIntoDatabase(ArticleImageModel image) { int rowseffected = 0; try { SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@uploadedByUserId", image.UploadedByUserId), new SqlParameter("@uploadedByUserName", image.UploadedByUserName), new SqlParameter("@uploadedDate", _sql.ConvertDateTimeForSQL(DateTime.Now)), new SqlParameter("@simpleCheckSum", image.SimpleCheckSum), new SqlParameter("@imageName", image.ImageName), new SqlParameter("@imageLocation", image.ImageLocation) }; rowseffected = _sql.GetReturnValueFromStoredProcedure("AddImageToArticleImages", parameters); } catch (Exception ex) { string error = string.Format( "There was an error entering {0} into database ArticleImageService/EnterImageIntoDatabase", image.ImageName); _logger.LogError(error, ex); } return(rowseffected > 0); }
public ActionResult MemberArticleImage(int articleId) { var contentService = Services.ContentService; var article = contentService.GetById(articleId); ArticleImageModel model = new ArticleImageModel(); string mediaUdi = article.GetValue("mainImage") != null?article.GetValue("mainImage").ToString() : ""; if (!string.IsNullOrEmpty(mediaUdi)) { Udi imageUdi = Udi.Parse(mediaUdi); model.ImageUrl = Umbraco.PublishedContent(imageUdi).Url(); } model.ArticleId = articleId; return(PartialView(GetTasksViewPath("_ArticleImage"), model)); }
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); }