如何检查 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();
}
}
嗨,
我可以使用哪个代码来检查用户文件夹或 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();
}
}