Ich versuche, Dokumentdateien mit der CopyIntoItems-Methode des SharePoint Copy-Webdiensts in eine Dokumentbibliothek in SharePoint zu laden.Wie verwenden Sie die CopyIntoItems-Methode des SharePoint Copy-Webdiensts?
Der folgende Code wird ausgeführt und gibt 0 (Erfolg) zurück. Außerdem gibt das CopyResult [] -Array 1 Wert mit einem "Success" -Ergebnis zurück. Ich kann das Dokument jedoch nirgendwo in der Bibliothek finden.
Ich habe zwei Fragen:
- jemand etwas falsch mit meinem Code sehen oder Änderungen vorschlagen?
- Kann jemand vorschlagen, wie ich dies auf der Serverseite debuggen könnte. Ich habe keine enorme Erfahrung mit SharePoint. Wenn ich durch Protokollierung oder eine andere Methode auf der Serverseite verfolgen kann, was passiert, kann es mir helfen, herauszufinden, was vor sich geht.
Codebeispiel:
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);
bearbeiten, die Dinge bekam Arbeit:
ich durch den Zusatz "http://null" zum SourceURL Feld meines Code arbeiten hätte. Nat's Antwort würde wahrscheinlich aus diesem Grund funktionieren. Hier ist die Zeile, die ich geändert habe, damit es funktioniert.
// Change
uint ret = SPCopyNew.CopyIntoItems("http://null", destinationUrls, info, data, out result);
Sollten Sie nicht Uri.EscapeUriString anstelle von Uri.EscapeDataString verwenden? –
Uri.EscapeUriString funktionierte besser für mich. –