Telerik Rad асинхронный контроль загрузки файлов работает хорошо локально, но не на сервере
Я использую элемент управления RadAsyncUpload от Telerik для загрузки файла на сервер. Он хорошо работает локально (на локальном хосте), но не на сервере. Что я упустил?
(Когда я выбираю файл для загрузки, точка становится красной, а не зеленой)
2 ответа
У меня было такое же поведение, и это была проблема с разрешениями папки.
Еще один симптом в этом случае, консоль Chrome DevTools показала следующую ошибку при попытке загрузить файл:
- Код ошибки HTTP 500
Существует временная папка, в которой RadAsyncUpload временно сохраняет файлы. Если вы не определите свойство TemporaryFolder в элементе управления RadAsyncUpload, значение по умолчанию будет в вашей папке App_Data\RadUploadTemp. Если у IIS_USERS нет прав на запись в эту папку, загрузка не может сохранить файл здесь. Он будет работать на вашем локальном хосте, потому что у вас есть права на запись в эту папку. Вот как дать необходимые разрешения.
- Щелкните правой кнопкой мыши папку App_Data\RadUploadTemp на сервере и выберите свойства
- Выберите вкладку Безопасность
- Нажмите кнопку "Изменить..."
- В разделе "Группы или имена пользователей:" выберите IIS_USERS.
- В разделе "Разрешения для IIS_USERS" установите флажок " Запись" в столбце " Разрешить".
Примечание. Это был IIS 7 на Windows 2008 R2 Server.
Точка может стать красной либо при сбое допустимой проверки расширения файла, либо когда размер файла превышает допустимый.
Вы можете прикрепить к событиям OnClientValidationFailed и OnClientFileUploadFailed и проверить, что именно является ошибкой, и исправить ее.
Статья " Устранение неполадок" предлагает дополнительную информацию о различных ошибках и способах их устранения.