1

我在这里有一个有趣的(无论如何对我来说很好)问题。我正在将基于代码的文档批量上传到 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 是库的文件夹对象。

谢谢你。

4

0 回答 0