public MediaItem AddFile(string fileName, string mediaItemName) { string sitecorePath = "/sitecore/media library/Images/Poses/wordpress"; // Create the options Sitecore.Resources.Media.MediaCreatorOptions options = new Sitecore.Resources.Media.MediaCreatorOptions(); // Store the file in the database, not as a file options.FileBased = false; // Remove file extension from item name options.IncludeExtensionInItemName = false; // Overwrite any existing file with the same name options.KeepExisting = false; // Do not make a versioned template options.Versioned = false; // set the path options.Destination = sitecorePath + "/" + mediaItemName; // Set the database options.Database = Sitecore.Configuration.Factory.GetDatabase("master"); // Now create the file Sitecore.Resources.Media.MediaCreator creator = new Sitecore.Resources.Media.MediaCreator(); string mediaitempath = sitecorePath + "/" + fileName; Item posesMediaItem = Sitecore.Context.Database.GetItem(mediaitempath); MediaItem mediaItem = null; if (posesMediaItem == null) { mediaItem = creator.CreateFromFile(fileName, options); } return(mediaItem); }
public Item CreateorUpdateMedia(string sitecorePath, string sourcePath, string mediaItemName) { try { Database masterDb = Sitecore.Configuration.Factory.GetDatabase("master"); // ItemUri itemUri = ItemUri.Parse(sitecorePath + "/" + mediaItemName); // Item myItem = Database.GetItem(itemUri); // Create the options Sitecore.Resources.Media.MediaCreatorOptions options = new Sitecore.Resources.Media.MediaCreatorOptions(); // Store the file in the database, not as a file options.FileBased = false; // Remove file extension from item name options.IncludeExtensionInItemName = false; // Overwrite any existing file with the same name options.OverwriteExisting = true; // Do not make a versioned template options.Versioned = false; // set the path options.Destination = sitecorePath; options.Destination = options.Destination + "/" + mediaItemName; options.Database = masterDb; // Now create the file Sitecore.Resources.Media.MediaCreator creator = new Sitecore.Resources.Media.MediaCreator(); var mediaItem = masterDb.GetItem(sourcePath); if (mediaItem != null) { FileInfo fi = new System.IO.FileInfo(sourcePath); FileStream fs = fi.OpenRead(); MemoryStream ms = new MemoryStream(); ms.SetLength(fs.Length); fs.Read(ms.GetBuffer(), 0, (int)fs.Length); ms.Flush(); fs.Close(); MediaItem updatedItem = creator.AttachStreamToMediaItem(ms, sitecorePath, mediaItemName, options); if (updatedItem != null) { ms.Dispose(); return(updatedItem); } } else { MediaItem newItem = creator.CreateFromFile(sourcePath, options); if (newItem != null) { return(newItem); } } } catch (Exception ex) { } return(null); }
/// <summary> /// Save image in the Media library /// </summary> /// <param name="stream"></param> /// <param name="fileName"></param> /// <param name="path"></param> /// <param name="mediaItemName"></param> /// <returns></returns> private bool UploadMediaItem(Stream stream, string fileName, string path, string mediaItemName) { if (string.IsNullOrWhiteSpace(fileName) || string.IsNullOrWhiteSpace(path) || string.IsNullOrWhiteSpace(mediaItemName)) { Sitecore.Diagnostics.Log.Error($"Could not upload media item either filename, path or mediaitemname is null.", this); return(false); } if (stream == Stream.Null) { Sitecore.Diagnostics.Log.Error($"Could not upload stream is null for media item {mediaItemName}.", this); return(false); } string destination = $"{path}/{mediaItemName}"; try { Sitecore.Resources.Media.MediaCreatorOptions options = new Sitecore.Resources.Media.MediaCreatorOptions() { FileBased = false, IncludeExtensionInItemName = false, OverwriteExisting = true, Versioned = false, Destination = destination, Database = Sitecore.Configuration.Factory.GetDatabase(masterDb), AlternateText = mediaItemName }; using (new SecurityDisabler()) { Sitecore.Resources.Media.MediaCreator creator = new Sitecore.Resources.Media.MediaCreator(); MediaItem mediaItem = creator.CreateFromStream(stream, fileName, options); if (mediaItem != null) { Log.Info($"Media Item {destination} uploaded successfully.", this); return(true); } } } catch (Exception ex) { Log.Error($"Error uploading Media Item {destination}", ex, this); } finally { stream.Dispose(); } return(false); }
public MediaItem CreateMedaiItem(Stream stream, string fileName, string sitecorePath) { Sitecore.Resources.Media.MediaCreatorOptions options = new Sitecore.Resources.Media.MediaCreatorOptions() { FileBased = false, IncludeExtensionInItemName = false, OverwriteExisting = false, Versioned = false, Destination = sitecorePath + "/" + Path.GetFileNameWithoutExtension(fileName), Database = Sitecore.Configuration.Factory.GetDatabase("master") }; Sitecore.Resources.Media.MediaCreator creator = new Sitecore.Resources.Media.MediaCreator(); MediaItem mediaItem = creator.CreateFromStream(stream, fileName, options); return(mediaItem); }
public MediaItem AddFile(string fileName, string sitecorePath, string mediaItemName) { // Create the options Sitecore.Resources.Media.MediaCreatorOptions options = new Sitecore.Resources.Media.MediaCreatorOptions(); // Store the file in the database, not as a file options.FileBased = false; // Remove file extension from item name options.IncludeExtensionInItemName = false; // Overwrite any existing file with the same name // options.KeepExisting = false; // Do not make a versioned template options.Versioned = false; // set the path options.Destination = sitecorePath + "/" + mediaItemName; // Set the database options.Database = Sitecore.Configuration.Factory.GetDatabase("master"); // Now create the file Sitecore.Resources.Media.MediaCreator creator = new Sitecore.Resources.Media.MediaCreator(); MediaItem mediaItem = creator.CreateFromFile(fileName, options); return(mediaItem); }
/// <summary> /// save image inside media gallery /// </summary> /// <param name="image">Image</param> /// <param name="fileName">File name</param> /// <param name="alternateText">Alternate text image</param> public static void SaveImage(Bitmap image, string fileName, string alternateText) { // Create memory stream object var memoryStream = new MemoryStream(); image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); // save image in Media galley var options = new Sitecore.Resources.Media.MediaCreatorOptions { FileBased = false, OverwriteExisting = true, Versioned = true, IncludeExtensionInItemName = true, Destination = fileName, Database = Factory.GetDatabase("master"), AlternateText = alternateText }; using (new SecurityDisabler()) { var creator = new Sitecore.Resources.Media.MediaCreator(); creator.CreateFromStream(memoryStream, fileName, options); } }
/// <summary> /// /// </summary> /// <param name="db"></param> /// <param name="importPath"></param> /// <param name="contentPath"></param> /// <returns></returns> public static MediaItem UploadContent(Database db, string importPath, string contentPath) { MediaItem mediaItem = null; Sitecore.Resources.Media.MediaCreatorOptions options = new Sitecore.Resources.Media.MediaCreatorOptions(); options.Database = db; options.Language = Sitecore.Globalization.Language.Parse(Sitecore.Configuration.Settings.DefaultLanguage); options.Versioned = Sitecore.Configuration.Settings.Media.UploadAsVersionableByDefault; options.Destination = contentPath; options.KeepExisting = false; // force replacement try { Sitecore.Resources.Media.MediaCreator creator = new Sitecore.Resources.Media.MediaCreator(); mediaItem = creator.CreateFromFile(importPath, options); } catch (Exception ex) { Log.Error(String.Format("Genworth.SitecoreExt.Utilities.ContentEditorHelper:UploadContent, exception creating media item {0}, skipping file. Exception: {1}", importPath.Substring(importPath.LastIndexOf("/")), ex.ToString()), typeof(ContentEditorHelper)); SitecoreExt.Utilities.ContentEditorHelper.MoveFile(importPath, Path.Combine(importPath + ".failed")); } return(mediaItem); }
public MediaItem AddFile(string fileName, string mediaItemName) { string sitecorePath = "/sitecore/media library/Images/Poses/wordpress"; // Create the options Sitecore.Resources.Media.MediaCreatorOptions options = new Sitecore.Resources.Media.MediaCreatorOptions(); // Store the file in the database, not as a file options.FileBased = false; // Remove file extension from item name options.IncludeExtensionInItemName = false; // Overwrite any existing file with the same name options.KeepExisting = false; // Do not make a versioned template options.Versioned = false; // set the path options.Destination = sitecorePath + "/" + mediaItemName; // Set the database options.Database = master; // Now create the file Sitecore.Resources.Media.MediaCreator creator = new Sitecore.Resources.Media.MediaCreator(); string mediaitempath = sitecorePath + "/" + fileName; Item posesMediaItem = Sitecore.Context.Database.GetItem(mediaitempath); MediaItem mediaItem = null; if (posesMediaItem == null) { mediaItem = creator.CreateFromFile(fileName, options); } return mediaItem; }
/// <summary> /// Add the image to Sitecore /// </summary> /// <param name="percolatePost"></param> /// <returns></returns> public MediaItem CreateMedia(PercolatePost percolatePost) { //Create the options Sitecore.Resources.Media.MediaCreatorOptions options = new Sitecore.Resources.Media.MediaCreatorOptions(); options.FileBased = false; options.IncludeExtensionInItemName = false; options.KeepExisting = false; options.Versioned = false; options.Destination = PercolateConstants.Paths.MediaPath + percolatePost.Media.Id; options.Database = Sitecore.Configuration.Factory.GetDatabase(Settings.PercolateSettings.MasterDBName); //read the image from percolate var webClient = new WebClient(); byte[] imageBytes = webClient.DownloadData(percolatePost.Media.Src); MemoryStream stream = new MemoryStream(); stream.Write(imageBytes, 0, imageBytes.Length); //create the image Sitecore.Resources.Media.MediaCreator creator = new Sitecore.Resources.Media.MediaCreator(); MediaItem mediaItem = creator.CreateFromStream(stream, string.Format("{0}.{1}", percolatePost.Media.Id, percolatePost.Media.Format), options); return mediaItem; }
public ActionResult UploadImage() { bool isSavedSuccessfully = true; string fName = ""; try { using (new SecurityDisabler()) { foreach (string fileName in Request.Files) { HttpPostedFileBase file = Request.Files[fileName]; //Save file content goes here if (file != null && file.ContentLength > 0) { var tempStream = new MemoryStream(); file.InputStream.CopyTo(tempStream); tempStream.Seek(0, SeekOrigin.Begin); fName = file.FileName; var newFileName = Guid.NewGuid() .ToString() .Replace("-", string.Empty) .Replace("{", string.Empty) .Replace("}", string.Empty); var imagesRootId = ID.Parse(Settings.GetSetting("ImagesRoot")); var imagesRoot = Sitecore.Context.Database.GetItem(imagesRootId); // Create the options Sitecore.Resources.Media.MediaCreatorOptions options = new Sitecore.Resources.Media.MediaCreatorOptions(); // Store the file in the database, not as a file options.FileBased = false; // Remove file extension from item name options.IncludeExtensionInItemName = false; // Overwrite any existing file with the same name options.KeepExisting = false; // Do not make a versioned template options.Versioned = false; options.IncludeExtensionInItemName = false; // set the path options.Destination = imagesRoot.Paths.FullPath + "/" + newFileName; // Set the database options.Database = Sitecore.Configuration.Factory.GetDatabase("master"); // Now create the file Sitecore.Resources.Media.MediaCreator creator = new Sitecore.Resources.Media.MediaCreator(); MediaItem mediaItem = creator.CreateFromStream(tempStream, newFileName + Path.GetExtension(file.FileName), options); PublishManager.PublishItem(mediaItem, new[] { Database.GetDatabase("web"), }, new[] { Language.Current }, false, false); CorePipeline.Run("detectFaces", new DetectFacesArgs(mediaItem.InnerItem)); } } } } catch (Exception ex) { isSavedSuccessfully = false; } if (isSavedSuccessfully) { return(Json(new { Message = fName })); } return(Json(new { Message = "Error in saving file" })); }