我正在使用sharepoint 2010客户端对象模型来创建文件夹和上传文件。
我可以创建文件夹但是当我尝试上传文件时,我收到“401未经授权的错误”。下面是代码片段。
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)
所以我尝试了另一种上传文件的方法。代码段是:
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()
这次我收到的错误如下:“价值不在预期范围内”
我真的很困惑。我正在使用管理员帐户上传文件和访问服务器。有趣的是我可以使用字体结尾上传文件。
非常感谢任何帮助。
答案 0 :(得分:0)
您应该在MSSPClient.executeQuery();
之前的第一个方法中添加您的凭据MSSPClient.Credentials = new NetworkCredential("LoginID", "LoginPW", "LoginDomain");
MSSPClient.File.SaveBinaryDirect(lobjClientContext,lstrFileRelativeURL, lobjFileStream, True)
MSSPClient.executeQuery();