none
イベントレシーバーのitemAdding内で、対象のアイテムがフォルダ・ファイルのどちらかを見分けるには? RRS feed

  • 質問

  • ドキュメントライブラリへファイルをアップロードする際、イベントレシーバーのitemAddingでライブラリへ定義したプロパティへ値の自動入力を行うようにしていますが、この時に対象のアイテムがフォルダの場合も動作します。

    イベントレシーバーで自動入力を行いたい対象はアイテムがファイルの時だけにしたいのですが、フォルダであるかファイルであるかを識別する方法が見つからずに困っています。
    ※itemAddedであれば、ListItemのFolderプロパティを参照することで解決できるのですが、itemAddingの段階ではフォルダ・ファイルの区別はできない状態だと思っています。

    現在はアップロード時のアイテムの相対URL文字列を参照して、「ピリオドが含まれている場合はファイルとみなす」という方法を考えていますが、フォルダ名にピリオドが含まれている場合は結局同じ動作となってしまいます。

    itemAddingでフォルダ・ファイルを見分ける方法がわかる方いらっしゃいますか?

    よろしくお願いします。
    2015年2月2日 14:28

すべての返信

  • ItemAdding メソッドの引数になっている、SPItemEventProperties クラスのメンバである AfterProperties にコンテンツタイプが入っていませんかね?

    properties.AfterProperties["ContentType"]

    のようにして、作成されるアイテムの種類が取得できたような気がします。


    2015年2月4日 11:26