Esempio n. 1
0
        public void Execute(string materialId, string materialConnectionName, string contentConnectionName, string rootPath, string url)
        {
            if (url.IsNullOrWhiteSpace() || url.StartsWith(@"temp\\", StringComparison.OrdinalIgnoreCase))
            {
                return;
            }

            var config = SyncMaterialFileTaskConfigSetting.GetConfig().Servers[contentConnectionName];
            var client = DCSClient.Create(config.DocumentLibraryName, config.MossServerName);

            var uri  = new Uri(url);
            var file = client.GetFile(uri.AbsolutePath);

            file.Client = client;
            file.Delete();
        }
        private DCTClientFile Save(DCSClient client, byte[] content, string path, string fileName)
        {
            var folder = client.RootFolder;
            var paths  = path.Split('\\');

            foreach (var folderName in paths)
            {
                if (folderName.IsNullOrWhiteSpace())
                {
                    continue;
                }
                folder        = folder.GetFolder(folderName) ?? folder.CreateFolder(folderName);
                folder.Client = client;
            }

            return(folder.Save(content, fileName, true));
        }
        public void Execute(string materialId, string materialConnectionName, string contentConnectionName, string rootPath, string url)
        {
            var materialContent = MaterialHelper.LoadMaterialContent(materialId, contentConnectionName);

            materialContent.NullCheck <FileNotFoundException>("无法找到此文件:{0}", materialId);

            var config = SyncMaterialFileTaskConfigSetting.GetConfig().Servers[contentConnectionName];
            var client = DCSClient.Create(config.DocumentLibraryName, config.MossServerName);

            var file = Save(
                client,
                materialContent.ContentData,
                GetPath(rootPath, materialContent.CreateTime),
                GetNewFileName(materialId, materialContent.FileName)
                );

            UpdateInfo(materialId, file.AbsoluteUri, materialConnectionName, rootPath);
        }