能够创建文件夹但无法上传sharepoint 2010客户端对象模型中的文件

时间:2013-12-24 12:51:23

标签: .net sharepoint sharepoint-2010 sharepoint-clientobject

我正在使用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()

这次我收到的错误如下:“价值不在预期范围内”

我真的很困惑。我正在使用管理员帐户上传文件和访问服务器。有趣的是我可以使用字体结尾上传文件。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您应该在MSSPClient.executeQuery();

之前的第一个方法中添加您的凭据
MSSPClient.Credentials = new NetworkCredential("LoginID", "LoginPW", "LoginDomain");

MSSPClient.File.SaveBinaryDirect(lobjClientContext,lstrFileRelativeURL, lobjFileStream, True)

MSSPClient.executeQuery();