3
我正在使用DNN 5.6.2,并且我正尝试构建一个自定义模块,用户可以在其中上传我运行验证的文件。如果该文件有效,那么它被保存。有一个模块创建的根级目录“DataValidation”,模块的每个实例都创建一个子目录来保持组织结构。DotNetNuke文件管理
我没有问题创建的目录,但是当我上传到他们,要么失败,有各种不同的错误或奇怪的文件上传罚款,但在DNN数据库它说,它是在根级别文件夹,“资料验证”。我的代码或方法有问题吗?
// Method is called to create the folders before writing to them
public void verifyModuleFolderExists(string subfolderName)
{
bool moduleFolderExists = false;
bool instanceFolderExists = false;
ArrayList folders = FileSystemUtils.GetFolders(PortalId);
foreach (FolderInfo folder in folders)
{
if (folder.FolderPath == "DataValidation/")
{
moduleFolderExists = true;
}
if (folder.FolderPath == subfolderName)
{
instanceFolderExists = true;
}
}
if (!moduleFolderExists)
{
FileSystemUtils.AddFolder(PortalSettings, PortalSettings.HomeDirectoryMapPath, "DataValidation\\");
}
if (!instanceFolderExists)
{
FileSystemUtils.AddFolder(PortalSettings, PortalSettings.HomeDirectoryMapPath + "DataValidation\\", subfolderName);
}
}
// Called on file upload
public void saveUploadedFile(HttpPostedFile uploadedFile, string subFolderName)
{
string path = PortalSettings.HomeDirectoryMapPath + "DataValidation\\" + subfolderName + "/";
string s = FileSystemUtils.UploadFile(path, uploadedFile);
}
这不是实际的错误,但相关。问题是当我添加子文件夹时,我忘了添加尾部斜线。 尽管为了保持一致,我仍然将所有内容都转换为反斜杠。我之前混合过他们,强制它上传。 – ChrisOPeterson