3
私はDNN 5.6.2で作業しています。ユーザーが検証を実行するファイルをアップロードできるカスタムモジュールを作成しようとしています。ファイルが有効な場合は保存されます。モジュールが作成するルートレベルのディレクトリ "DataValidation"があり、モジュールの各インスタンスは、物事を整理するためのサブディレクトリを作成します。DotNetNukeファイル管理
私はディレクトリを作成しても問題はありませんが、アップロードするとさまざまなエラーが発生したり、不思議なことにファイルが正常にアップロードされますが、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);
}
に
だからあなたのアップロードのコードを変更します。問題は、サブフォルダを追加したときに後続のスラッシュを追加するのを忘れたことでした。 すべてをバックスラッシュに変換しましたが、一貫して機能するようにしました。私はそれをアップロードして強制的にそれらを混合していた。 – ChrisOPeterson