public FileExplorerResponse Paste(string sourceDir, string backupDir, string[] names, string option, IEnumerable <CommonFileDetails> commonFiles) { FileExplorerResponse PasteResponse = new FileExplorerResponse(); try { string phyPath = GetPath(sourceDir); for (int i = 0; i < names.Length; i++) { FileAccessRules FilePermission = GetFilePermission(phyPath, names[i], IsFile(CombineRelativePath(sourceDir, names[i]))); if (!FilePermission.Read || !FilePermission.Copy) { throw new ArgumentException("'" + sourceDir + names[i] + "' is not accessible. Access is denied."); } } FileAccessRules PathPermission = GetPathPermission(backupDir); if (!PathPermission.Read || !PathPermission.EditContents) { throw new ArgumentException("'" + backupDir + "' is not accessible. Access is denied."); } PasteResponse = FileExplorerOperations.Paste(sourceDir, backupDir, names, option, commonFiles); PasteResponse.files = SetPermission(backupDir, PasteResponse.files); return(PasteResponse); } catch (Exception e) { PasteResponse.error = e.GetType().FullName + ", " + e.Message; return(PasteResponse); } }
public object doJSONPAction(string callback, string json) { object Data = null; var serializer = new JavaScriptSerializer(); FileExplorerParams args = (FileExplorerParams)serializer.Deserialize(json, typeof(FileExplorerParams)); try { if (args.ActionType != "Paste" && args.ActionType != "GetDetails") { string FilePath = FileExplorerOperations.ToPhysicalPath(FileExplorerOperations.ToAbsolute(args.Path)); } switch (args.ActionType) { case "Read": Data = FileExplorerOperations.ReadData(args.Path, args.ExtensionsAllow); break; case "Search": Data = FileExplorerOperations.Search(args.Path, args.ExtensionsAllow, args.SearchString, args.CaseSensitive); break; case "CreateFolder": Data = FileExplorerOperations.NewFolder(args.Path, args.Name); break; case "Paste": Data = FileExplorerOperations.Paste(args.LocationFrom, args.LocationTo, args.Names, args.Action, args.CommonFiles); break; case "Remove": Data = FileExplorerOperations.Remove(args.Names, args.Path); break; case "Rename": Data = FileExplorerOperations.Rename(args.Path, args.Name, args.NewName, args.CommonFiles); break; case "GetDetails": Data = FileExplorerOperations.GetDetails(args.Path, args.Names); break; } HttpContext.Current.Response.Write(string.Format("{0}({1});", callback, serializer.Serialize(Data))); return(""); } catch (Exception e) { FileExplorerResponse Response = new FileExplorerResponse(); Response.error = e.GetType().FullName + ", " + e.Message; HttpContext.Current.Response.Write(string.Format("{0}({1});", callback, serializer.Serialize(Response))); return(""); } }
public object doJSONAction() { FileExplorerParams args = FileExplorerOperations.GetAjaxData(Request); if (args.ActionType == "Upload") { FileExplorerOperations.Upload(args.Files, args.Path); return(new HttpResponseMessage() { Content = new StringContent("ok", Encoding.UTF8, "text/plain") }); } try { if (args.ActionType != "Paste" && args.ActionType != "GetDetails") { var FilePath = FileExplorerOperations.ToPhysicalPath(FileExplorerOperations.ToAbsolute(args.Path)); } switch (args.ActionType) { case "Read": return(FileExplorerOperations.ReadData(args.Path, args.ExtensionsAllow)); case "Search": return(FileExplorerOperations.Search(args.Path, args.ExtensionsAllow, args.SearchString, args.CaseSensitive)); case "CreateFolder": return(FileExplorerOperations.NewFolder(args.Path, args.Name)); case "Paste": return(FileExplorerOperations.Paste(args.LocationFrom, args.LocationTo, args.Names, args.Action, args.CommonFiles)); case "Remove": return(FileExplorerOperations.Remove(args.Names, args.Path)); case "Rename": return(FileExplorerOperations.Rename(args.Path, args.Name, args.NewName, args.CommonFiles)); case "GetDetails": return(FileExplorerOperations.GetDetails(args.Path, args.Names)); } return(""); } catch (Exception e) { FileExplorerResponse Response = new FileExplorerResponse(); Response.error = e.GetType().FullName + ", " + e.Message; return(Response); } }