Exemple #1
0
        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));
        }
Exemple #3
0
        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));
        }
Exemple #5
0
        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);
        }