1

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

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

2 回答 2

2

该解决方案原来是删除 IIS 中的通配符应用程序映射。

通过 HTTP POST 接收文档上传的 url/_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,这解决了没有副作用的问题。

于 2009-08-14T14:28:09.897 回答
1

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

您可以使用其中一种方法吗?如果不能,您可以使用有关原因和一些示例代码的更多信息来编辑您的问题吗?

猜测为什么 HTTP POST 方法不起作用可能是因为它仅供内部 SharePoint 使用。

于 2009-08-13T10:13:05.450 回答