public static FileBrowserTreeDataResponse LoadFileBrowserTreeData(string path)
        {
            string parameters = "";

            string tempPath = HttpContext.Current.Server.MapPath("~/_layouts/15/GroupDocs_Annotation_SharePoint_WebPart/App_Data/");

            if (!string.IsNullOrEmpty(parameters))
            {
                tempPath = Path.Combine(tempPath, parameters);
            }

            FileTreeContainer tree = null;

            try
            {
                tree = annotator.LoadFileTree(new FileTreeOptions(tempPath));
            }
            catch (Exception ex)
            {
                throw;
            }

            List <FileDescription>      treeNodes = tree.FileTree;
            FileBrowserTreeDataResponse data      = new FileBrowserTreeDataResponse
            {
                nodes = ToFileTreeNodes(parameters, treeNodes).ToArray(),
                count = tree.FileTree.Count
            };

            return(data);
        }
        public HttpResponseMessage loadFileTree(AnnotationPostedDataEntity fileTreeRequest)
        {
            string relDirPath = fileTreeRequest.path;
            // get file list from storage path
            FileTreeOptions fileListOptions = new FileTreeOptions(relDirPath);
            // get temp directory name
            string tempDirectoryName = new AnnotationConfig().TempFolderName;

            try
            {
                FileTreeContainer fileListContainer = AnnotationImageHandler.LoadFileTree(fileListOptions);

                List <FileDescriptionEntity> fileList = new List <FileDescriptionEntity>();
                // parse files/folders list
                foreach (FileDescription fd in fileListContainer.FileTree)
                {
                    FileDescriptionEntity fileDescription = new FileDescriptionEntity();
                    fileDescription.guid = fd.Guid;
                    // check if current file/folder is temp directory or is hidden
                    FileInfo fileInfo = new FileInfo(fileDescription.guid);
                    if (tempDirectoryName.ToLower().Equals(fileDescription.guid) || fileInfo.Attributes.HasFlag(FileAttributes.Hidden))
                    {
                        // ignore current file and skip to next one
                        continue;
                    }
                    else
                    {
                        // set file/folder name
                        fileDescription.name = fd.Name;
                    }
                    // set file type
                    fileDescription.docType = fd.DocumentType;
                    // set is directory true/false
                    fileDescription.isDirectory = fd.IsDirectory;
                    // set file size
                    fileDescription.size = fd.Size;
                    // add object to array list
                    fileList.Add(fileDescription);
                }
                return(Request.CreateResponse(HttpStatusCode.OK, fileList));
            }
            catch (System.Exception ex)
            {
                // set exception message
                return(Request.CreateResponse(HttpStatusCode.OK, new Resources().GenerateException(ex)));
            }
        }
示例#3
0
        public static FileBrowserTreeDataResponse LoadFileBrowserTreeData(string path)
        {
            string parameters = "";

            string tempPath = AppDomain.CurrentDomain.GetData("DataDirectory") + "/";

            if (!string.IsNullOrEmpty(parameters))
            {
                tempPath = Path.Combine(tempPath, parameters);
            }

            FileTreeContainer           tree      = annotator.LoadFileTree(new FileTreeOptions(tempPath));
            List <FileDescription>      treeNodes = tree.FileTree;
            FileBrowserTreeDataResponse data      = new FileBrowserTreeDataResponse
            {
                nodes = ToFileTreeNodes(parameters, treeNodes).ToArray(),
                count = tree.FileTree.Count
            };

            return(data);
        }
        public ActionResult LoadFileBrowserTreeData(LoadFileBrowserTreeDataParameters parameters)
        {
            string path = AppDomain.CurrentDomain.GetData("DataDirectory") + "/";

            if (!string.IsNullOrEmpty(parameters.Path))
            {
                path = Path.Combine(path, parameters.Path);
            }

            FileTreeContainer           tree      = annotator.LoadFileTree(new FileTreeOptions(path));
            List <FileDescription>      treeNodes = tree.FileTree;
            FileBrowserTreeDataResponse data      = new FileBrowserTreeDataResponse
            {
                nodes = ToFileTreeNodes(parameters.Path, treeNodes).ToArray(),
                count = tree.FileTree.Count
            };

            JavaScriptSerializer serializer = new JavaScriptSerializer();

            string serializedData = serializer.Serialize(data);

            return(Content(serializedData, "application/json"));
        }