我在这里有一个有趣的(无论如何对我来说很好)问题。我正在将基于代码的文档批量上传到 SharePoint 库中。不同的是,上传后需要在项目属性中维护文件的最后修改日期。
文件详细信息由 csv 文件确定,该文件包含路径和需要附加到库项目的元数据,因为库基于具有元数据字段的自定义内容类型。
我遇到的问题是修改日期仅与上传的最后一个文件一起维护。所有其他文件均指示上传时间。我做了更多的挖掘并打开了版本控制。事实证明,我上传的文件被多次修改,因为它们应用了多个次要版本,而最终上传的文件只有一个。例如。我正在上传 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 是库的文件夹对象。
谢谢你。