如何检查 DNN 中的用户文件夹或任何其他文件夹是否为空?

How to check if a User Folder or any other Folder in DNN is empty?

嗨,

我可以使用哪个代码来检查用户文件夹或 DNN 中的任何其他文件夹是否没有文件?我看过:Retrieve FileID from DotNetNuke using FileName... 但没有运气。

此代码用于检查文件是否存在是否正确?我不想指定特定的文件名。

FolderManager.Instance.GetFiles(); 

上面代码的括号里应该是什么?有人可以举个例子吗?

你可以这样做:

FolderController controller = new FolderController();

Dictionary<string, FolderInfo> list = controller.GetFolders(PortalId);
foreach (var folder in list)
{
    List<IFileInfo> files = FolderManager.Instance.GetFiles(folder.Value).ToList();
    Label1.Text += folder.Key + ": " + files.Count();
}

我也找到了另一种方法 System.IO.Directory。

    var userfolderpath = FolderManager.Instance.GetUserFolder(UserInfo).FolderPath;
    var userfolderpath_ = @"\" + userfolderpath;
    var portalPath = Server.MapPath("~/Portals/" + this.PortalId);
    var physicalPath = System.IO.Path.Combine(portalPath, userfolderpath);

            var list = System.IO.Directory.GetFiles(physicalPath);
            if (list?.Length > 0)
            {
                //sumbit_files.Attributes.Add("style", "display:block;");
                //message_container.Attributes.Add("style", "display:block;");

                if (userfolderpath != null)
                {
                    dgrFileList.Columns[0].HeaderText = Localization.GetString("FileHeader", this.LocalResourceFile);
                    dgrFileList.Columns[1].HeaderText = Localization.GetString("FileWriteDate", this.LocalResourceFile);
                    dgrFileList.Columns[2].HeaderText = Localization.GetString("FileDownloadHeader", this.LocalResourceFile);
                    dgrFileList.DataSource = FileUtility.GetSafeFileList(string.Concat(portalPath, userfolderpath_), GetExcludedFiles(), GetSortOrder());
                    dgrFileList.DataBind();
                }
            }