【发布时间】:2013-12-24 12:51:22
【问题描述】:
我正在使用 sharepoint 2010 客户端对象模型来创建文件夹和上传文件。
我可以创建文件夹,但是当我尝试上传文件时,我收到“401 未经授权的错误”。下面是代码sn-p。
Try
Dim lstrFileName As String = Path.GetFileName(lstrSourceFilePath)
Dim lobjFileStream As New FileStream(lstrSourceFilePath, FileMode.Open)
Dim lstrFileRelativeURL As String = "/" & pstrFolderURL & "/" & lstrFileName
MSSPClient.File.SaveBinaryDirect(lobjClientContext,
lstrFileRelativeURL, lobjFileStream, True)
所以我尝试了另一种上传文件的方法。代码sn-p是:
Dim lobjSourceFileCreateInfo As New FileCreationInformation()
lobjSourceFileCreateInfo.Content = System.IO.File.ReadAllBytes(lstrSourceFilePath)
lobjSourceFileCreateInfo.Overwrite = True
lobjSourceFileCreateInfo.Url = lstrFileRelativeURL
Dim lobjWebObj As Web = lobjClientContext.Web
Dim llstListOfDoc As List = lobjWebObj.Lists.GetByTitle(pstrListName)
Dim lobjFiletoBeUploaded As MSSPClient.File = llstListOfDoc.RootFolder.Files.Add(lobjSourceFileCreateInfo)
lobjClientContext.Load(lobjFiletoBeUploaded)
lobjClientContext.ExecuteQuery()
这次我收到如下错误:“值不在预期范围内”
我真的很困惑。我正在使用管理员帐户上传文件和访问服务器。有趣的是我可以使用字体结尾上传文件。
非常感谢任何帮助。
【问题讨论】:
-
我已经解决了上述问题,方法是使用作为 lobjSourceFileCreateInfo.Url 值的完整 URL 而不是相对 URL。
标签: .net sharepoint sharepoint-2010 sharepoint-clientobject