0

Я использую объектную модель клиента sharepoint 2010 для создания папок и загрузки файлов.Возможность создания папки, но не может загружать файлы в 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

Я решил проблему выше, используя полный URL, указанный как значение для lobjSourceFileCreateInfo.Url вместо относительного URL. – Rupesh

ответ

0

Вы должны добавить свои учетные данные в первом методе перед MSSPClient.executeQuery();

MSSPClient.Credentials = new NetworkCredential("LoginID", "LoginPW", "LoginDomain"); 

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

MSSPClient.executeQuery(); 
Смежные вопросы