Sharepoint — загрузка нескольких документов — HTTP-глагол «post» не разрешен

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

/_layouts/error.aspx?ErrorText=The%20HTTP%20verb%20POST%20used%20to%20access%20path%20%27%2F%5Fvti%5Fbin%2Fshtml%2Edll%2FSiteCollectionDocuments%2FForms%2FUpload%2Easpx%27%20is%20not%20allowed%2E

Глагол HTTP POST, используемый для доступа к пути '/_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx', не разрешен.

Любые идеи относительно того, почему HTTP POST будет отклонен для этой операции?

Обновление:

Переход непосредственно к /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx дает:

Страница XML не может быть отображена Не удается просмотреть ввод XML с помощью таблицы стилей. Исправьте ошибку и нажмите кнопку «Обновить» или повторите попытку позже.

В текстовом содержимом обнаружен недопустимый символ. Ошибка обработки ресурса 'http://sitename/... MZ

Ошибка в журнале событий выглядит следующим образом:

Critical error has occured but the exception object has already been cleared

Current Url: /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx
User Login: xxxxxxx
User is Authenticated: True

Performance Counters
% Processor Time Total: 0
Processor Queue Length: 1
ASP.NET Request Queued Total: 1
.NET CLR Exceptions, # of Exceps Thrown: 55

PATH_INFO: /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx
PATH_TRANSLATED: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\isapi\shtml.dll

person Chris Ballance    schedule 07.08.2009    source источник


Ответы (2)


Решением оказалось удаление сопоставления приложений с подстановочными знаками в IIS.

URL-адрес, который получает загрузку документа через HTTP POST /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx, неправильно сопоставлялся с C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll и, следовательно, не работал.

Обновление:

Это решение имело тенденцию нарушать другие функции, такие как удаление документов, и было исключено во время тестирования.

Как оказалось, был модуль HTTP, из-за которого этот URL-адрес обрабатывался неправильно. Я добавил обход для /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx, и это решило проблему без побочных эффектов.

person Chris Ballance    schedule 14.08.2009
comment
Привет Крис. Вы когда-нибудь заставляли несколько загрузок работать со списком как вложением? Я пытаюсь выяснить, как лучше всего это сделать. Спасибо. - person AboutDev; 21.08.2009
comment
Да, теперь работает отлично. У нас был HTTP-модуль, который перехватывал OOTB-запросы на документы и без необходимости возился с ними. Я добавил в этот модуль обходной путь специально для /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx, и теперь все отлично работает. - person Chris Ballance; 22.08.2009

Поддерживаемые методы загрузки документов в SharePoint:

Можете ли вы использовать один из этих методов? Если нет, не могли бы вы отредактировать свой вопрос, указав дополнительную информацию о том, почему и какой-нибудь пример кода?

Предположение о том, почему метод HTTP POST не работает, вероятно, связано с тем, что он предназначен только для внутреннего использования SharePoint.

person Alex Angas    schedule 13.08.2009
comment
Спасибо за ответ, Алекс. Однако это функция множественной загрузки OOTB, которая поставляется с Sharepoint. - person Chris Ballance; 13.08.2009
comment
Дает ли вам, однако, многократное использование одного из «официальных» методов то, что вам нужно? Извините, я не понимаю, почему использование HTTP POST необходимо и любопытно ;-) - person Alex Angas; 13.08.2009
comment
HTTP POST используется файлом OOTB upload.aspx для отправки нескольких файлов. Ничего не настраивается вообще, кроме некоторой конфигурации сайта. - person Chris Ballance; 13.08.2009