ここで興味深い(とにかく私にとっては)問題があります。私はひねりを加えたSharePointライブラリへのドキュメントのコードベースの大量アップロードを行っています。ひねりを加えたのは、アップロード後にファイルの最終更新日をアイテムのプロパティで維持する必要があることです。
ファイルの詳細は、ライブラリがメタデータ フィールドを持つカスタム コンテンツ タイプに基づいているため、ライブラリ アイテムに添付する必要があるパスとメタデータを含む csv ファイルから決定されます。
私が抱えている問題は、変更された日付が最後にアップロードされたファイルでのみ維持されていることです。他のすべてのファイルは、アップロード時間を示します。もう少し掘り下げて、バージョン管理をオンにしました。アップロードしたファイルには複数のマイナー バージョンが適用されているため、複数回変更されていることがわかりました。アップロードされる最終ファイルには 1 つしかありません。例えば。プロセスをテストするために 6 つのファイルをアップロードしています。アップロードされた最後のファイルはバージョン .1 であり、他のファイルはバージョン .6 から .8 から .12 の範囲です。表示できるすべてのファイルは、アップロード時の初期設定では正しい変更日を持っていましたが、すぐに変更が発生して日付が変更され、新しい変更日がインクリメントされました。
バージョン履歴:
次の方法を使用して日付を試しました。
spFile.Item.UpdateOverwriteVersion()
item.Update()
(ファイル オブジェクトからではなく、リストとして項目にアクセスする場合
spFile.Item.SystemUpdate(false)
これらの更新はどれも、私が望むことをしていないようです。
Try
Using site As SPSite = New SPSite(siteURL)
Using Web As SPWeb = site.OpenWeb()
Dim itemList As SPList = Web.Lists("DM Import Test")
For Each item As SPListItem In itemList.Items
If item.Name = importFile.fileName Then
item(SPBuiltInFieldId.Modified) = importFile.modifiedDate
item.Update()
End If
Next
End Using
End Using
importFile は、必要なプロパティを持つ単なるカスタム オブジェクトです。
これに遭遇した場合、および解決策がある場合はお知らせください。
私はまた、エントリを構築しようとしました:
spFile = uploadFolder.Files.Add(Path.GetFileName(importFile.FullPath), fileStream, createdBy, modifiedBy, created, modified)
uploadFolder はライブラリのフォルダー オブジェクトでした。
ありがとうございました。