Я пытаюсь загрузить файлы документов в библиотеку документов в SharePoint, используя метод CopyIntoItems веб-службы SharePoint Copy.
Приведенный ниже код выполняется и возвращает 0 (успех). Кроме того, массив CopyResult [] возвращает 1 значение с результатом «Success». Однако я нигде не могу найти документ в библиотеке.
У меня два вопроса:
- Может кто-нибудь увидеть что-то не так с моим кодом или предложить изменения?
- Может кто-нибудь предложить, как я мог бы отладить это на стороне сервера. У меня нет большого опыта работы с SharePoint. Если я смогу отследить, что происходит, с помощью ведения журнала или каким-либо другим способом на стороне сервера, это может помочь мне выяснить, что происходит.
Пример кода:
string[] destinationUrls = { Uri.EscapeDataString("https://someaddress.com/Reports/Temp") };
SPCopyWebService.FieldInformation i1 = new SPCopyWebService.FieldInformation { DisplayName = "Name", InternalName = "Name", Type = SPListTransferSpike1.SPCopyWebService.FieldType.Text, Value = "Test1Name" };
SPCopyWebService.FieldInformation i2 = new SPCopyWebService.FieldInformation { DisplayName = "Title", InternalName = "Title", Type = SPListTransferSpike1.SPCopyWebService.FieldType.Text, Value = "Test1Title" };
SPCopyWebService.FieldInformation[] info = { i1, i2 };
SPCopyWebService.CopyResult[] result;
byte[] data = File.ReadAllBytes("C:\\SomePath\\Test1Data.txt");
uint ret = SPCopyNew.CopyIntoItems("", destinationUrls, info, data, out result);
Редактировать, чтобы все заработало:
Мой код заработал, добавив "http://null" в поле SourceUrl. Ответ Nat ниже, вероятно, сработает по этой причине. Вот строка, которую я изменил, чтобы заставить ее работать.
// Change
uint ret = SPCopyNew.CopyIntoItems("http://null", destinationUrls, info, data, out result);