Sharepoint - 多文档上传 - 不允许使用HTTP'post'动词

时间:2009-08-07 19:41:26

标签: asp.net sharepoint upload http-post httpverbs

尝试上传任意数量的文档(包括非常小的文件)时似乎成功 - 但随后重定向到错误页面,指示以下内容:

/_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

不允许使用用于访问路径'/_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx'的HTTP谓词POST。

关于为什么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

2 个答案:

答案 0 :(得分:1)

将文档上载到SharePoint的支持方法是:

您是否可以使用其中一种方法?如果没有,请编辑您的问题,并提供有关原因和一些示例代码的更多信息吗?

猜测HTTP POST方法无法正常工作的原因可能是因为它仅供内部SharePoint使用。

答案 1 :(得分:1)

解决方案结果是删除了IIS中的通配符应用程序映射。

通过HTTP POST /_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx接收文档上传的网址被错误地映射到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,从而失败。

<强>更新

此解决方案倾向于破坏其他功能,例如文档删除,并在测试期间被废弃。

事实证明,有一个HTTP模块导致此网址被错误处理。我为/_vti_bin/shtml.dll/SiteCollectionDocuments/Forms/Upload.aspx添加了旁路,这解决了没有副作用的问题。