Ejemplo n.º 1
0
 public static bool ValidateFile(HttpPostedFileBase file, SitecoreViewModelResult result)
 {
     if (true)
     {
         return(true);
     }
 }
Ejemplo n.º 2
0
        public JsonResult Upload()
        {
            SitecoreViewModelResult result = new SitecoreViewModelResult();
            try
            {
                foreach (string file in Request.Files)
                {
                    HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;

                    if (hpf.ContentLength == 0 || !ValidateFile(hpf, result))
                        continue;
                    string fileName = Path.GetFileName(hpf.FileName);

                    result.Data = fileName;

                    string path = StringUtil.EnsurePostfix('/', Sitecore.Configuration.Settings.DataFolder.ToString()) + fileName;
                    hpf.SaveAs(path);

                }
            }
            catch (Exception ex)
            {
                Log.Error("could not upload ", ex, this);
            }

            return result;
        }
Ejemplo n.º 3
0
        public JsonResult Upload()
        {
            SitecoreViewModelResult result = new SitecoreViewModelResult();

            try
            {
                if (Sitecore.Context.User.IsAdministrator)
                {
                    foreach (string file in Request.Files)
                    {
                        HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;

                        if (hpf.ContentLength == 0 || !ValidateFile(hpf, result))
                        {
                            continue;
                        }
                        string fileName = Path.GetFileName(hpf.FileName);

                        result.Data = fileName;

                        string path = StringUtil.EnsurePostfix('/', Sitecore.Configuration.Settings.DataFolder.ToString()) + fileName;
                        hpf.SaveAs(path);
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error("could not upload ", ex, this);
            }

            return(result);
        }
        public JsonResult Upload(string database = "master", string mediaFolderPath = "/sitecore/media library/Uploaded Files")
        {
            SitecoreViewModelResult result = new SitecoreViewModelResult();
            try
            {
                Database db = Factory.GetDatabase(database);
                if (db == null)
                    return result;
                foreach (string file in Request.Files)
                {
                    HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;

                    if (hpf.ContentLength == 0 || !ValidateFile(hpf, result))
                        continue;
                    string fileName = ItemUtil.ProposeValidItemName(Path.GetFileName(hpf.FileName));
                    MediaCreatorOptions md = new MediaCreatorOptions();
                    md.Destination = StringUtil.EnsurePostfix('/', StringUtil.EnsurePrefix('/', mediaFolderPath)) +
                                     fileName;
                    md.Database = db;
                    using (new SecurityDisabler())
                    {
                        Item mediaItem = MediaManager.Creator.CreateFromStream(hpf.InputStream, fileName, md);
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error("could not upload", ex, this);
            }

            return result;
        }
        public JsonResult Upload(string database, string destinationUrl)
        {
            List <UploadedFileItem> list   = new List <UploadedFileItem>();
            SitecoreViewModelResult result = new SitecoreViewModelResult();

            foreach (string str in base.Request.Files)
            {
                HttpPostedFileBase file = base.Request.Files[str];

                if (file != null)
                {
                    string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(file.FileName);
                    fileNameWithoutExtension = ItemUtil.ProposeValidItemName(fileNameWithoutExtension, "default");
                    Database contentDatabase = Context.ContentDatabase;

                    if (!string.IsNullOrEmpty(database))
                    {
                        contentDatabase = Factory.GetDatabase(database);
                    }

                    if (contentDatabase == null)
                    {
                        contentDatabase = Context.ContentDatabase;
                    }

                    MediaCreatorOptions options = new MediaCreatorOptions
                    {
                        Database  = contentDatabase,
                        FileBased = false,
                        IncludeExtensionInItemName = Settings.Media.IncludeExtensionsInItemNames,
                        KeepExisting = true,
                        Language     = LanguageManager.DefaultLanguage,
                        Versioned    = false,
                        Destination  = this.ParseDestinationUrl(destinationUrl) + fileNameWithoutExtension
                    };

                    if (!ValidateFile(file, result))
                    {
                        return(result);
                    }
                    Item      innerItem = MediaManager.Creator.CreateFromStream(file.InputStream, "/upload/" + file.FileName, options);
                    MediaItem item      = new MediaItem(innerItem);

                    string mediaUrl = MediaManager.GetMediaUrl(item);
                    list.Add(new UploadedFileItem(innerItem.Name, innerItem.ID.ToString(), innerItem.ID.ToShortID().ToString(), mediaUrl));
                }
            }

            ((dynamic)result.Result).uploadedFileItems = list;
            return(result);
        }
Ejemplo n.º 6
0
        private static bool ValidateFile(HttpPostedFileBase file, SitecoreViewModelResult result)
        {
            List <ErrorItem> errorItemList = new List <ErrorItem>();
            int  contentLength             = file.ContentLength;
            bool flag = true;

            if ((long)contentLength > Settings.Media.MaxSizeInDatabase)
            {
                errorItemList.Add(new ErrorItem("size", contentLength.ToString(), string.Format(ClientHost.Globalization.Translate("The file exceeds the maximum size ({0})."), (object)Settings.Media.MaxSizeInDatabase)));
                flag = false;
            }
            if (!flag)
            {
                ((dynamic)result.Result).errorItems = errorItemList;
            }
            return(flag);
        }
        private static bool ValidateFile(HttpPostedFileBase file, SitecoreViewModelResult result)
        {
            List <ErrorItem> list = new List <ErrorItem>();
            int  contentLength    = file.ContentLength;
            bool flag             = true;

            if (contentLength > CustomSpeakMediaController.MaxImageSizeInDatabase)
            {
                list.Add(new ErrorItem("size", contentLength.ToString(), string.Format(ClientHost.Globalization.Translate("The file \"{0} (size: {1} KB)\" exceeds the maximum size \"{2}\"."), file.FileName, (file.ContentLength / 1024f), (object)MainUtil.FormatSize(CustomSpeakMediaController.MaxImageSizeInDatabase))));
                flag = false;
            }

            if (!flag)
            {
                ((dynamic)result.Result).errorItems = list;
            }
            return(flag);
        }
Ejemplo n.º 8
0
        public JsonResult Upload(string database, string destinationUrl)
        {
            SitecoreViewModelResult result;

            try
            {
                return(this.DoUpload(database, destinationUrl));
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, ex, (object)this);
                SitecoreViewModelResult sitecoreViewModelResult = new SitecoreViewModelResult();
                List <ErrorItem>        errorItemList           = new List <ErrorItem>();
                result = new SitecoreViewModelResult();
                errorItemList.Add(new ErrorItem("Exception", ex.Message, "Internal Server Error"));
                ((dynamic)result.Result).errorItems = errorItemList;
            }
            return((JsonResult)result);
        }
Ejemplo n.º 9
0
        public JsonResult Upload(string database = "master", string mediaFolderPath = "/sitecore/media library/Uploaded Files")
        {
            SitecoreViewModelResult result = new SitecoreViewModelResult();

            try
            {
                Database db = Factory.GetDatabase(database);
                if (db == null)
                {
                    return(result);
                }
                foreach (string file in Request.Files)
                {
                    HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;

                    if (hpf.ContentLength == 0 || !ValidateFile(hpf, result))
                    {
                        continue;
                    }
                    string fileName        = ItemUtil.ProposeValidItemName(Path.GetFileName(hpf.FileName));
                    MediaCreatorOptions md = new MediaCreatorOptions();
                    md.Destination = StringUtil.EnsurePostfix('/', StringUtil.EnsurePrefix('/', mediaFolderPath)) +
                                     fileName;
                    md.Database = db;
                    using (new SecurityDisabler())
                    {
                        Item mediaItem = MediaManager.Creator.CreateFromStream(hpf.InputStream, fileName, md);
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Error("could not upload", ex, this);
            }

            return(result);
        }
Ejemplo n.º 10
0
        private static bool ValidateDestination(string database, string destinationUrl, SitecoreViewModelResult result)
        {
            List <ErrorItem> errorItemList = new List <ErrorItem>();
            bool             flag          = true;
            Database         database1     = ClientHost.Databases.ContentDatabase;

            if (!string.IsNullOrEmpty(database))
            {
                database1 = Factory.GetDatabase(database);
            }
            Item obj1 = database1.GetItem(destinationUrl);

            if (obj1 == null || !obj1.Access.CanCreate())
            {
                errorItemList.Add(new ErrorItem("destination", destinationUrl, ClientHost.Globalization.Translate("You do not have permission to upload files to the currently selected folder.")));
                flag = false;
            }
            if (!flag)
            {
                ((dynamic)result.Result).errorItems = errorItemList;
            }
            return(flag);
        }
Ejemplo n.º 11
0
        private JsonResult DoUpload(string database, string destinationUrl)
        {
            if (string.IsNullOrEmpty(destinationUrl))
            {
                destinationUrl = "/sitecore/media library";
            }
            List <UploadedFileItem> uploadedFileItemList = new List <UploadedFileItem>();
            SitecoreViewModelResult result = new SitecoreViewModelResult();

            if (!ImageCrunchController.ValidateDestination(database, destinationUrl, result))
            {
                return((JsonResult)result);
            }
            objFillSetting = new FillSetting();
            crunchOptions  = new CrunchOptions();
            foreach (string file1 in (NameObjectCollectionBase)this.Request.Files)
            {
                HttpPostedFileBase file2 = this.Request.Files[file1];
                if (file2 != null)
                {
                    string withoutExtension = Path.GetFileNameWithoutExtension(file2.FileName);
                    if (!string.IsNullOrEmpty(this.Request.Form["name"]))
                    {
                        withoutExtension = this.Request.Form["name"];
                    }
                    string str   = ItemUtil.ProposeValidItemName(withoutExtension, "default");
                    string empty = string.Empty;
                    if (!string.IsNullOrEmpty(this.Request.Form["alternate"]))
                    {
                        empty = this.Request.Form["alternate"];
                    }
                    Database database1 = Context.ContentDatabase;
                    if (!string.IsNullOrEmpty(database))
                    {
                        database1 = Factory.GetDatabase(database);
                    }
                    if (database1 == null)
                    {
                        database1 = Context.ContentDatabase;
                    }
                    MediaCreatorOptions options1 = new MediaCreatorOptions()
                    {
                        AlternateText = empty,
                        Database      = database1,
                        FileBased     = Settings.Media.UploadAsFiles,
                        IncludeExtensionInItemName = Settings.Media.IncludeExtensionsInItemNames,
                        OverwriteExisting          = false,
                        Language    = LanguageManager.DefaultLanguage,
                        Versioned   = Settings.Media.UploadAsVersionableByDefault,
                        Destination = this.ParseDestinationUrl(destinationUrl) + str
                    };
                    if (!ImageCrunchController.ValidateFile(file2, result))
                    {
                        return((JsonResult)result);
                    }
                    Item fromStream = MediaManager.Creator.CreateFromStream(file2.InputStream, "/upload/" + file2.FileName, options1);
                    if (!string.IsNullOrEmpty(this.Request.Form["description"]))
                    {
                        fromStream.Editing.BeginEdit();
                        fromStream["Description"] = this.Request.Form["description"];
                        fromStream.Editing.EndEdit();
                    }
                    MediaItem mediaItem = new MediaItem(fromStream);
                    ///Code to Shrunk the Media Item begin
                    objTennantSetting       = objFillSetting.getSetting(mediaItem.MediaPath, mediaItem.Database.Name, mediaItem.InnerItem.Language.ToString());
                    crunchOptions.APIKey    = objTennantSetting.ApiKey;
                    crunchOptions.APISecret = objTennantSetting.ApiSecret;
                    crunchOptions.IsEnabled = objTennantSetting.IsEnabled;
                    crunchOptions.wait      = true;
                    crunchOptions.lossy     = objTennantSetting.Lossy;
                    crunchOptions.dev       = objTennantSetting.IsDev;
                    crunchOptions.enhance   = objTennantSetting.Enhance;
                    try
                    {
                        //checking maximum & minimum size condition defined for the tenant
                        if (mediaItem != null && mediaItem.Size > objTennantSetting.MinimumKBSize && mediaItem.Size < objTennantSetting.MaxImageSize)
                        {
                            crunchOptions.fullname = mediaItem.Name + "." + mediaItem.Extension;
                            //As of now API is based out of post approach
                            CrunchImage.ProcessMediaItem(mediaItem, crunchOptions);
                        }
                        else
                        {
                            Log.Info(string.Format("Image Size is {0} {1}", mediaItem.Size, ",KB which is not fit in minimum & maximum size defined in setting"), this);
                        }
                    }
                    catch (System.Exception exception)
                    {
                        Log.Error(string.Format("Could not shrink item {0}", mediaItem.InnerItem.Paths.FullPath), exception, this);
                    }
                    ///Code to shrunk media item end
                    MediaUrlOptions options2 = new MediaUrlOptions(130, 130, false)
                    {
                        Thumbnail       = true,
                        BackgroundColor = Color.Transparent,
                        Database        = mediaItem.Database
                    };
                    string mediaUrl = MediaManager.GetMediaUrl(mediaItem, options2);
                    uploadedFileItemList.Add(new UploadedFileItem(fromStream.Name, fromStream.ID.ToString(), fromStream.ID.ToShortID().ToString(), mediaUrl));
                }
            }
            ((dynamic)result.Result).uploadedFileItems = uploadedFileItemList;
            return((JsonResult)result);
        }
Ejemplo n.º 12
0
 public static bool ValidateFile(HttpPostedFileBase file, SitecoreViewModelResult result)
 {
     if (true)
         return true;
 }