public static bool ValidateFile(HttpPostedFileBase file, SitecoreViewModelResult result) { if (true) { return(true); } }
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; }
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); }
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); }
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); }
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); }
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); }
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); }
public static bool ValidateFile(HttpPostedFileBase file, SitecoreViewModelResult result) { if (true) return true; }