Самый простой способ загрузить документ на sharepoint с помощью веб-сервисов - PullRequest
3 голосов
/ 27 января 2010

Я хочу загрузить в выбранный документ (из моей системы. У меня есть свой путь со мной). К пути назначения на Sharepoint (может быть список или папка).

Я обращаюсь к sharepoint удаленно, используя веб-сервисы (C #). Я читаю различные решения, например, используя метод CopyIntoItems. Но не получается получить соответствующий пример (невозможно передать параметры должным образом. Пример, приведенный в msdn)

Может ли кто-нибудь помочь мне найти простое и понятное решение?

Пример:

Source_FileUrl = "c: /SampleFile.txt"; Desination_Url = "http://MyServer/Site/List/Folder";

Просто хотите загрузить "SampleFile.txt" на Destination_Url.

1 Ответ

4 голосов
/ 29 января 2010

попробуйте это

try
    {

    //Copy WebService Settings 
    string webUrl           = "http://sharepointportal.ABC.com/";
    WSCopy.Copy copyService = new WSCopy.Copy();
    copyService.Url         = webUrl + "/_vti_bin/copy.asmx";
    copyService.Credentials = new NetworkCredential("username", "****", "Domain");

    //Declare and initiates the Copy WebService members for uploading 

    string sourceUrl        = "C:\\Work\\Ticket.Doc";   

    //Change file name if not exist then create new one     
    string[] destinationUrl    = { "http://sharepointportal.ABC.com/personal/username/Document Upload/Testing Document/newUpload.Doc" };

    WSCopy.CopyResult cResult1 = new WSCopy.CopyResult();

    WSCopy.CopyResult cResult2 = new WSCopy.CopyResult();

    WSCopy.CopyResult[] cResultArray = { cResult1, cResult2 };

    WSCopy.FieldInformation fFiledInfo = new WSCopy.FieldInformation();

    fFiledInfo.DisplayName = "Description";

    fFiledInfo.Type        = WSCopy.FieldType.Text;

    fFiledInfo.Value       = "Ticket";

    WSCopy.FieldInformation[] fFiledInfoArray = { fFiledInfo }; 

    FileStream strm = new FileStream(sourceUrl, FileMode.Open, FileAccess.Read); 

    byte[] fileContents = new Byte[strm.Length]; 

    byte[] r = new Byte[strm.Length];

    int ia = strm.Read(fileContents, 0, Convert.ToInt32(strm.Length));
    strm.Close();
    //Copy the document from Local to SharePoint 

    uint copyresult = copyService.CopyIntoItems(sourceUrl, destinationUrl, fFiledInfoArray, fileContents, out cResultArray); 

    MessageBox.Show("Suceess");  

  }
 catch (Exception ex)    
 { 
    MessageBox.Show(ex.Message);

 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...