DotNetNuke Произошла критическая ошибка. Выбор вне диапазона Имя параметра: значение Использование DnnFilePickerUploader

Я только начинаю разрабатывать модули DNN, и я пытаюсь написать модуль, который принимает PDF и JPG (в качестве эскиза для PDF), а затем отображает их в виде списка. У меня все работает так, как я хочу, и мне удалось создать папки и загрузить файлы, но я не могу связать файлы с записью базы данных.

Я использую DnnFilePickerUploader, который хорошо обрабатывает асинхронную публикацию файлов, но каждый раз, когда я действительно выбираю нужный файл и отправляю страницу обратно, я получаю сообщение «Произошла критическая ошибка. Выбор вне диапазона Имя параметра: значение». Он даже не достигает точки останова в моем событии, поэтому я предполагаю, что ошибка возникает при Page_Load где-то под капотом во время обратной передачи.

Документации по этому элементу управления практически не существует, поэтому любая помощь будет оценена по достоинству!


person Chris Searles    schedule 22.04.2013    source источник


Ответы (1)


Итак, я покопался в коде этого элемента управления и понял, что это ошибка, которая, похоже, исходит от клиента. FilePath, переданный на сервер, имеет дополнительный «/» между папкой и именем файла, поэтому он выглядит как «моя папка/моя подпапка//myuploadedfile.ext» вместо «моя папка/моя подпапка/myuploadedfile.ext».

Основная проблема, однако, заключается в том, что я пришел к выводу, что это не то, как файловая система предназначена для использования в DNN. Я пытался получить путь к файлу и сохранить его в своей базе данных, но предполагаемое использование - получить (и сохранить) FileId из элемента управления. DNN управляет файлами с помощью записи базы данных и хранит множество полезных метаданных для каждого файла, доступ к которым можно получить с помощью классов FileManager (и FolderManager).

person Chris Searles    schedule 23.04.2013