public ActionResult FileActionThumbnailCompress(FileExplorerParams args) { try { FileExplorerOperations opeartion = new FileExplorerOperations(); if (args.ActionType != "Paste" && args.ActionType != "GetDetails") { var FilePath = opeartion.GetPhysicalPath(opeartion.ToAbsolute(args.Path)); if (!FilePath.ToLower().Contains("fileexplorercontent")) { throw new ArgumentException("'" + FilePath + "' is not accessible. Access is denied."); } } switch (args.ActionType) { case "Read": return(Json(opeartion.Read(args.Path, args.ExtensionsAllow))); //case "CreateFolder": // return Json(opeartion.CreateFolder(args.Path, args.Name)); //case "Paste": // return Json(opeartion.Paste(args.LocationFrom, args.LocationTo, args.Names, args.Action, args.CommonFiles)); //case "Remove": // return Json(opeartion.Remove(args.Names, args.Path)); //case "Rename": // return Json(opeartion.Rename(args.Path, args.Name, args.NewName, args.CommonFiles)); case "GetDetails": return(Json(opeartion.GetDetails(args.Path, args.Names))); case "Download": opeartion.Download(args.Path, args.Names); break; //case "Upload": // opeartion.Upload(args.FileUpload, args.Path); // break; case "Search": return(Json(opeartion.Search(args.Path, args.ExtensionsAllow, args.SearchString, args.CaseSensitive))); case "GetImage": //Helps to reduce thumbnail image size before loading it into FileExplorer opeartion.GetImage(args.Path, args.CanCompress); break; //provide restriction to modify data in our online samples default: return(new HttpStatusCodeResult(403, "Restricted to modify data in online demo.")); } return(Json("")); } catch (Exception e) { FileExplorerResponse Response = new FileExplorerResponse(); Response.error = e.GetType().FullName + ", " + e.Message; return(Json(Response)); } }
public virtual ActionResult FileAction(FileExplorerParams args) { try { EventPublisher.Publish(new FileExplorerActionEvent(args)); var operation = new FileExplorerOperations(); switch (args.ActionType) { case "Read": return(Json(operation.Read(args.Path, args.ExtensionsAllow), JsonRequestBehavior.AllowGet)); case "CreateFolder": return(Json(operation.CreateFolder(args.Path, args.Name), JsonRequestBehavior.AllowGet)); case "Paste": return(Json(operation.Paste(args.LocationFrom, args.LocationTo, args.Names, args.Action, args.CommonFiles), JsonRequestBehavior.AllowGet)); case "Remove": return(Json(operation.Remove(args.Names, args.Path), JsonRequestBehavior.AllowGet)); case "Rename": return(Json(operation.Rename(args.Path, args.Name, args.NewName, args.CommonFiles), JsonRequestBehavior.AllowGet)); case "GetDetails": return(Json(operation.GetDetails(args.Path, args.Names), JsonRequestBehavior.AllowGet)); case "Download": operation.Download(args.Path, args.Names); break; case "Upload": operation.Upload(args.FileUpload, args.Path); break; case "Search": return(Json(operation.Search(args.Path, args.ExtensionsAllow, args.SearchString, args.CaseSensitive), JsonRequestBehavior.AllowGet)); case "GetImage": operation.GetImage(args.Path, args.CanCompress, args.ImageSize, args.SelectedItems); break; } return(Json("", JsonRequestBehavior.AllowGet)); } catch (Exception e) { var response = new FileExplorerResponse { error = e.GetType().FullName + ", " + e.Message }; return(Json(response, JsonRequestBehavior.AllowGet)); } }
public static object FileActionDefault(string ActionType, string Path, string ExtensionsAllow, string LocationFrom, string LocationTo, string Name, string[] Names, string NewName, string Action, bool CaseSensitive, string SearchString, IEnumerable <CommonFileDetails> CommonFiles) { try { FileExplorerOperations opeartion = new FileExplorerOperations(); if (ActionType != "Paste" && ActionType != "GetDetails") { var FilePath = opeartion.GetPhysicalPath(opeartion.ToAbsolute(Path)); if (!FilePath.ToLower().Contains("filecontent")) { throw new ArgumentException("'" + FilePath + "' is not accessible. Access is denied."); } } AccessControl Rule = new AccessControl(); FileAccessOperations operation = new FileAccessOperations(Rule.GetRules()); switch (ActionType) { case "Read": return(operation.Read(Path, ExtensionsAllow)); //case "CreateFolder": // return (operation.CreateFolder(Path, Name)); //case "Paste": // operation.Paste(LocationFrom, LocationTo, Names, Action, CommonFiles); // break; //case "Remove": // operation.Remove(Names, Path); // break; //case "Rename": // operation.Rename(Path, Name, NewName, CommonFiles); // break; case "GetDetails": return(operation.GetDetails(Path, Names)); case "Search": return(operation.Search(Path, ExtensionsAllow, SearchString, CaseSensitive)); //provide restriction to modify data in our online samples default: throw new Exception("Restricted to modify data in online demo."); } //return ""; } catch (Exception e) { FileExplorerResponse Response = new FileExplorerResponse(); Response.error = e.GetType().FullName + ", " + e.Message; return(Response); } }
public async Task <FileExplorerResponse> GetDetailsAsync(string path, string[] names, IEnumerable <object> selectedItems = null) { FileExplorerResponse DetailsResponse = new FileExplorerResponse(); try { bool isFile = false; FileDetails[] fDetails = new FileDetails[names.Length]; FileDetails fileDetails = new FileDetails(); if (selectedItems != null) { foreach (var Fileitem in selectedItems) { Newtonsoft.Json.Linq.JToken myObject = Newtonsoft.Json.JsonConvert.DeserializeObject <Newtonsoft.Json.Linq.JToken>(Fileitem.ToString()); AzureFileDirectoryContent s_item = myObject.ToObject <AzureFileDirectoryContent>(); isFile = s_item.isFile; break; } } if (isFile) { CloudBlockBlob blockBlob = container.GetBlockBlobReference(path + names[0]); await blockBlob.FetchAttributesAsync(); fileDetails.Name = blockBlob.Name; fileDetails.Type = blockBlob.Name.Split('.')[1]; fileDetails.Location = blockBlob.Uri.ToString(); fileDetails.Size = blockBlob.Properties.Length; fileDetails.Modified = blockBlob.Properties.LastModified.Value.LocalDateTime.ToString(); } else { CloudBlobDirectory sampleDirectory = container.GetDirectoryReference(path); fileDetails.Name = names[0]; fileDetails.Location = sampleDirectory.Uri.ToString() + "/" + names[0]; fileDetails.Type = "File Folder"; fileDetails.Modified = sampleDirectory.Container.Properties.LastModified.ToString(); } fDetails[0] = fileDetails; DetailsResponse.details = fDetails; return(await Task.Run(() => { return DetailsResponse; })); } catch (Exception ex) { throw ex; } }
public ActionResult FileActionDefault([FromBody] FileExplorerParams args) { try { if (args.ActionType != "Paste" && args.ActionType != "GetDetails") { var FilePath = operation.GetPhysicalPath(args.Path); if (!FilePath.ToLower().Contains("fileexplorercontent")) { throw new ArgumentException(FilePath + "is not accessible. Access is denied."); } } switch (args.ActionType) { case "Read": return(Json(operation.Read(args.Path, args.ExtensionsAllow))); //case "CreateFolder": // return Json(operation.CreateFolder(args.Path, args.Name)); //case "Paste": // return Json(operation.Paste(args.LocationFrom, args.LocationTo, args.Names, args.Action, args.CommonFiles)); //case "Remove": // return Json(operation.Remove(args.Names, args.Path, args.SelectedItems)); //case "Rename": // return Json(operation.Rename(args.Path, args.Name, args.NewName, args.CommonFiles)); case "GetDetails": return(Json(operation.GetDetails(args.Path, args.Names))); case "Search": return(Json(operation.Search(args.Path, args.ExtensionsAllow, args.SearchString, args.CaseSensitive))); //provide restriction to modify data in our online samples default: throw new Exception("Restricted to modify data in this demo"); } return(Json("")); } catch (Exception e) { FileExplorerResponse Response = new FileExplorerResponse(); Response.error = e.GetType().FullName + ", " + e.Message; return(Json(Response)); } }