我正在使用DNN 5.6.2,我正在尝试构建一个自定义模块,用户可以在其中上传我运行验证的文件。如果文件有效,则将其保存。模块创建了一个根目录"DataValidation“,模块的每个实例都创建了一个子目录来组织内容。
我创建目录没有问题,但当我上传到它们时,它要么失败,出现各种不同的错误,要么奇怪的是,文件上传正常,但在DNN数据库中,它显示它在根目录"DataValidation“中。我的代码或方法有什么问题吗?
// 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);
}发布于 2011-08-12 05:49:12
我认为问题出在string path = ...部分,你有"/“,它应该是"\”。这可能会导致它忽略路径的文件夹部分。
因此,您的上传代码将更改为
public void saveUploadedFile(HttpPostedFile uploadedFile, string subFolderName)
{
string path = PortalSettings.HomeDirectoryMapPath +
"DataValidation\\" + subfolderName + "\\";
string s = FileSystemUtils.UploadFile(path, uploadedFile);
}https://stackoverflow.com/questions/7029382
复制相似问题