示例#1
0
        public virtual void LocalizeFile(Site site, string fileRelativePath)
        {
            FileEntry targetFileEntry = GetFile(site, fileRelativePath);

            if (!targetFileEntry.Exists())
            {
                FileEntry fileEntry     = null;
                Site      recursiveSite = site;
                while (fileEntry == null && recursiveSite != null)
                {
                    fileEntry = GetFile(recursiveSite, fileRelativePath);
                    if (!fileEntry.Exists())
                    {
                        fileEntry = null;
                    }
                    recursiveSite = recursiveSite.Parent;
                }

                if (fileEntry != null)
                {
                    Kooboo.IO.IOUtility.EnsureDirectoryExists(Path.GetDirectoryName(targetFileEntry.PhysicalPath));
                    File.Copy(fileEntry.PhysicalPath, targetFileEntry.PhysicalPath, true);
                }
            }
        }
示例#2
0
        public virtual FileEntry GetFile(Site site, string relativePath)
        {
            FileEntry entry = new FileEntry(GetRootDir(site), relativePath);

            if (entry.Exists())
            {
                var fi = new FileInfo(entry.PhysicalPath);
                entry.Name          = fi.Name;
                entry.FileName      = fi.FullName;
                entry.FileExtension = fi.Extension;
                entry.Read();
            }
            return(entry);
        }
示例#3
0
文件: FileManager.cs 项目: mxyerx/CMS
        public virtual void LocalizeFile(Site site, string fileRelativePath)
        {
            FileEntry targetFileEntry = GetFile(site, fileRelativePath);

            if (!targetFileEntry.Exists())
            {
                FileEntry fileEntry     = null;
                Site      recursiveSite = site;
                while (fileEntry == null && recursiveSite != null)
                {
                    fileEntry = GetFile(recursiveSite, fileRelativePath);
                    if (!fileEntry.Exists())
                    {
                        fileEntry = null;
                    }
                    recursiveSite = recursiveSite.Parent;
                }

                if (fileEntry != null)
                {
                    File.Copy(fileEntry.PhysicalPath, targetFileEntry.PhysicalPath, true);
                }
            }
        }
示例#4
0
        public virtual FileEntry GetFile(Site site, string relativePath)
        {
            FileEntry entry = new FileEntry(GetRootDir(site), relativePath);
            if (entry.Exists())
            {
                var fi = new FileInfo(entry.PhysicalPath);
                entry.Name = fi.Name;
                entry.FileName = fi.FullName;
                entry.FileExtension = fi.Extension;
                entry.Read();

            }
            return entry;
        }
示例#5
0
        public virtual bool IsFileExists(Site site, string parentRelativePath, string name)
        {
            FileEntry file = new FileEntry(GetRootDir(site), GetRelativePath(parentRelativePath, name));

            return(file.Exists());
        }
示例#6
0
 public virtual bool IsFileExists(Site site, string parentRelativePath, string name)
 {
     FileEntry file = new FileEntry(GetRootDir(site), GetRelativePath(parentRelativePath, name));
     return file.Exists();
 }