Nano Hash - криптовалюты, майнинг, программирование

Управление файлами DotNetNuke

Я работаю с 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);
    }

Ответы:


1

Я считаю, что проблема в части string path = ..., у вас есть "/", которое на самом деле должно быть "\". Это может привести к тому, что он потенциально проигнорирует часть пути, содержащуюся в папке.

Таким образом, ваш код загрузки изменится на

public void saveUploadedFile(HttpPostedFile uploadedFile, string subFolderName)
{
    string path = PortalSettings.HomeDirectoryMapPath + 
                    "DataValidation\\" + subfolderName + "\\";
    string s = FileSystemUtils.UploadFile(path, uploadedFile);
}
11.08.2011
  • Это была не настоящая ошибка, а связанная с ней. Проблема была в том, что когда я добавил подпапку, я забыл добавить косую черту. Я преобразовал все в обратную косую черту, чтобы все работало стабильно. Я смешал их перед загрузкой. 12.08.2011
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..