Ejemplo n.º 1
0
        private void FillFileSystemsToList(bool isReload)
        {
            var builder = new StringBuilder();

            builder.Append("<table class=\"table table-noborder table-hover\"><tr class=\"info thead\"><td>名称</td><td width=\"80\">大小</td><td width=\"120\">类型</td><td width=\"120\">修改日期</td><td width=\"40\"><input type=\"checkbox\" onclick=\"_checkFormAll(this.checked)\" /></td></tr>");
            var directoryUrl = PageUtility.GetPublishmentSystemUrl(PublishmentSystemInfo, _relatedPath);

            var fileSystemInfoExtendCollection = FileManager.GetFileSystemInfoExtendCollection(_directoryPath, isReload);

            foreach (FileSystemInfoExtend subDirectoryInfo in fileSystemInfoExtendCollection.Folders)
            {
                if (string.IsNullOrEmpty(_relatedPath))
                {
                    if (StringUtils.EqualsIgnoreCase(subDirectoryInfo.Name, "api"))
                    {
                        continue;
                    }
                }
                string fileNameString =
                    $"<img src={SiteServerAssets.GetFileSystemIconUrl(EFileSystemType.Directory, false)} border=0 /> {subDirectoryInfo.Name}";
                var    fileSystemTypeString = "文件夹";
                var    fileModifyDateTime   = subDirectoryInfo.LastWriteTime;
                var    linkUrl = GetRedirectUrl(PublishmentSystemId, PageUtils.Combine(_relatedPath, subDirectoryInfo.Name));
                string trHtml  =
                    $"<tr><td><nobr><a href=\"{linkUrl}\">{fileNameString}</a></nobr></td><td class=\"center\">&nbsp;</td><td class=\"center\">{fileSystemTypeString}</td><td class=\"center\">{DateUtils.GetDateAndTimeString(fileModifyDateTime, EDateFormatType.Day, ETimeFormatType.ShortTime)}</td><td class=\"center\"><input type=\"checkbox\" name=\"DirectoryNameCollection\" value=\"{subDirectoryInfo.Name}\" /></td></tr>";
                builder.Append(trHtml);
            }

            foreach (FileSystemInfoExtend fileInfo in fileSystemInfoExtendCollection.Files)
            {
                var    fileExt        = fileInfo.Type;
                var    fileSystemType = EFileSystemTypeUtils.GetEnumType(fileExt);
                string fileNameString =
                    $"<img src={SiteServerAssets.GetFileSystemIconUrl(fileSystemType, false)} border=0 /> {fileInfo.Name}";
                var fileSystemTypeString = (fileSystemType == EFileSystemType.Unknown) ?
                                           $"{fileExt.TrimStart('.').ToUpper()} 文件"
                    : EFileSystemTypeUtils.GetText(fileSystemType);
                var    fileKBSize         = TranslateUtils.GetKbSize(fileInfo.Size);
                var    fileModifyDateTime = fileInfo.LastWriteTime;
                var    linkUrl            = PageUtils.Combine(directoryUrl, fileInfo.Name);
                string trHtml             =
                    $"<tr><td><nobr><a href=\"{linkUrl}\" target=\"_blank\">{fileNameString}</a></nobr></td><td class=\"center\">{fileKBSize} KB</td><td class=\"center\">{fileSystemTypeString}</td><td class=\"center\">{DateUtils.GetDateAndTimeString(fileModifyDateTime, EDateFormatType.Day, ETimeFormatType.ShortTime)}</td><td class=\"center\"><input type=\"checkbox\" name=\"FileNameCollection\" value=\"{fileInfo.Name}\" /></td></tr>";
                builder.Append(trHtml);
            }

            builder.Append("</table>");
            ltlFileSystems.Text = builder.ToString();
        }
Ejemplo n.º 2
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            PageUtils.CheckRequestParameter("siteId");
            if (AuthRequest.IsQueryExists("TextBoxID"))
            {
                var textBoxId  = AuthRequest.GetQueryString("TextBoxID");
                var virtualUrl = AuthRequest.GetQueryString(textBoxId);
                _filePath    = PathUtility.MapPath(SiteInfo, virtualUrl);
                _relatedPath = PageUtils.RemoveFileNameFromUrl(virtualUrl);
                _fileName    = PathUtils.GetFileName(_filePath);
            }
            else
            {
                _relatedPath    = AuthRequest.GetQueryString("RelatedPath").Trim('/');
                _hiddenClientId = AuthRequest.GetQueryString("HiddenClientID");
                if (!_relatedPath.StartsWith("~") && !_relatedPath.StartsWith("@"))
                {
                    _relatedPath = "@/" + _relatedPath;
                }
                _fileName   = AuthRequest.GetQueryString("FileName");
                _updateName = AuthRequest.GetQueryString("UpdateName");
                if (!string.IsNullOrEmpty(_updateName))
                {
                    _fileName = _updateName;
                }
                _filePath = PathUtility.MapPath(SiteInfo, PathUtils.Combine(_relatedPath, _fileName));
            }

            if (!FileUtils.IsFileExists(_filePath))
            {
                PageUtils.RedirectToErrorPage("此文件不存在!");
                return;
            }

            if (IsPostBack)
            {
                return;
            }

            var fileInfo = new FileInfo(_filePath);
            var fileType = EFileSystemTypeUtils.GetEnumType(fileInfo.Extension);

            LtlFileName.Text       = AuthRequest.IsQueryExists("UpdateName") ? AuthRequest.GetQueryString("UpdateName") : fileInfo.Name;
            LtlFileType.Text       = EFileSystemTypeUtils.GetText(fileType);
            LtlFilePath.Text       = Path.GetDirectoryName(_filePath);
            LtlFileSize.Text       = TranslateUtils.GetKbSize(fileInfo.Length) + " KB";
            LtlCreationTime.Text   = fileInfo.CreationTime.ToString("yyyy-MM-dd hh:mm:ss");
            LtlLastWriteTime.Text  = fileInfo.LastWriteTime.ToString("yyyy-MM-dd hh:mm:ss");
            LtlLastAccessTime.Text = fileInfo.LastAccessTime.ToString("yyyy-MM-dd hh:mm:ss");

            LtlOpen.Text =
                $@"<a class=""btn btn-default m-l-5"" href=""{PageUtility.GetSiteUrlByPhysicalPath(SiteInfo, _filePath, true)}"" target=""_blank"">浏 览</a>";
            if (EFileSystemTypeUtils.IsTextEditable(fileType))
            {
                LtlEdit.Text = $@"<a class=""btn btn-default m-l-5"" href=""{ModalFileEdit.GetRedirectUrl(SiteId, _relatedPath, _fileName, false)}"">修 改</a>";
            }
            if (!string.IsNullOrEmpty(_hiddenClientId))
            {
                LtlChangeName.Text =
                    $@"<a class=""btn btn-default m-l-5"" href=""javascript:;"" onclick=""{ModalFileChangeName.GetOpenWindowString(
                        SiteId, _relatedPath, fileInfo.Name, _hiddenClientId)}"">改 名</a>";
            }
        }