このようなものが機能することを期待していますが、ListItem、BeforeProperties、AfterProperties はすべて null/空です。ファイル名とファイルの内容が必要です。
public class MyItemEventReceiver : SPItemEventReceiver {
public MyItemEventReceiver() {}
public override void ItemAdding(SPItemEventProperties properties) {
SPListItem item = properties.ListItem;
bool fail = item.File.Name.Equals("fail.txt");
if (fail) {
properties.ErrorMessage = "The file failed validation";
properties.Cancel = true;
}
}
}
ItemAdded は非同期であり、同期する必要があるため使用できません。アップロードを妨げて、ユーザーにメッセージを表示する可能性があります。
任意の提案をいただければ幸いです。たとえば、Upload.aspx を上書きすることは可能ですか?