私はSharePointにドキュメントライブラリを持っています。新しいファイルがそのライブラリにアップロードされると、自動的に別のドキュメントライブラリにもコピーされます。これどうやってするの?SharePointのドキュメントライブラリにファイルをコピー
10
A
答えて
14
アイテムイベント受信者を使用し、ItemAddedイベントを上書きします。 SPItemEventPropertiesは、ListItemプロパティを使用してリストアイテムへの参照を提供します。
これを行うには2つの方法があります(CopyToを検出したため)。
方法1:(同様おそらく他のWebアプリケーションが、私はテストしていない)同じサイトコレクション内の任意の場所にそれに関連するファイルおよびプロパティを持つCopyTo
この方法でコピーする任意のリスト項目を使用します。 SharePointは、アイテムのプロパティを表示するかドロップダウンメニューを使用すると、ソースアイテムへのリンクも自動的に維持します。このリンクはUnlinkFromCopySourceで削除できます。
CopyToの唯一のトリックは、宛先の場所に完全なURLが必要であることです。
public class EventReceiverTest : SPItemEventReceiver
{
public override void ItemAdded(SPItemEventProperties properties)
{
properties.ListItem.CopyTo(
properties.WebUrl + "/Destination/" + properties.ListItem.File.Name);
}
}
方法2:ストリームのコピー、手動で設定されたプロパティ
アイテムのプロパティがコピーされたり、ファイルの内容を変更する必要がある場合は、その上より詳細に制御する必要がある場合は、この方法が唯一必要となります。
public class EventReceiverTest : SPItemEventReceiver
{
public override void ItemAdded(SPItemEventProperties properties)
{
SPFile sourceFile = properties.ListItem.File;
SPFile destFile;
// Copy file from source library to destination
using (Stream stream = sourceFile.OpenBinaryStream())
{
SPDocumentLibrary destLib =
(SPDocumentLibrary) properties.ListItem.Web.Lists["Destination"];
destFile = destLib.RootFolder.Files.Add(sourceFile.Name, stream);
stream.Close();
}
// Update item properties
SPListItem destItem = destFile.Item;
SPListItem sourceItem = sourceFile.Item;
destItem["Title"] = sourceItem["Title"];
//...
//... destItem["FieldX"] = sourceItem["FieldX"];
//...
destItem.UpdateOverwriteVersion();
}
}
展開
あなたにも展開するためのさまざまなオプションがあります。コンテンツタイプまたはリストに接続されているフィーチャにイベントレシーバを関連付け、プログラムで追加することができます。詳細はthis article at SharePointDevWikiを参照してください。
関連する問題
- 1. SharePointドキュメントライブラリ
- 2. SharePointホストアドイン同じファイルをドキュメントライブラリにアップロード
- 3. ファイルシステムにファイルを保存するSharepointドキュメントライブラリ
- 4. Sharepoint内のファイルを更新するドキュメントライブラリ
- 5. SharePoint Restドキュメントライブラリ
- 6. Sharepointのドキュメントライブラリのフォルダ
- 7. OneNote API with SharePointドキュメントライブラリ
- 8. Sharepoint 2010のドキュメントライブラリのブレッドクラム
- 9. すべてのプロパティと共にSharepointドキュメントライブラリにファイルをアップロード
- 10. SharePoint WebSiteでドキュメントライブラリを入手
- 11. sharepoint 2007ドキュメントライブラリの制限
- 12. のSharePoint 2013ファイルのアップロードは、ドキュメントライブラリにフォルダに
- 13. Sharepointドキュメントライブラリ - ファイル名をタイトルにjavascriptを使用して
- 14. HTTP PUTを使用してSharepoint(WSS 3.0)ドキュメントライブラリにファイルをアップロード
- 15. プログラムによってSharepointドキュメントライブラリからファイルをダウンロードする方法
- 16. SharePoint OnlineドキュメントライブラリからAccessデータベースにCSVファイルをインポート
- 17. Sharepoint:ドキュメントライブラリのAccess DB(.accdb)に接続
- 18. Sharepoint 2010ドキュメントライブラリのドキュメントのPDFを作成
- 19. Sharepointドキュメントライブラリ内のInfoPath XMLファイルからデータを抽出する
- 20. 複数の添付ファイルをリストからドキュメントライブラリにjavacriptでコピー
- 21. ドキュメントライブラリの外でSharePoint Webページを作成
- 22. Sharepoint 2010添付ファイルとしてのドキュメントライブラリ内の電子メールドキュメント
- 23. Sharepointドキュメントライブラリ内の別のアイテムへのリンク
- 24. SharePoint - ドキュメントライブラリからファイルを削除できませんでした
- 25. 文書ビューのSharePointドキュメントライブラリのカスタマイズ
- 26. SSISの宛先としてのSharepointドキュメントライブラリ
- 27. C#SharePoint 2013ドキュメントライブラリからドキュメントリストを取得
- 28. ドキュメントライブラリSharepoint 2007を移動する方法
- 29. SharePointドキュメントライブラリ:ドキュメントをポップアップで開く
- 30. htmlファイルを生成してsharepoint 2007のドキュメントライブラリにアップロードする方法
C#タグとSharePointタグのコンテキスト内では、この質問は理にかなっています。投票を再開することです。 –