批量文件上载会创建除上一个文件之外的所有文件的多个版本

时间:2013-04-16 20:37:07

标签: sharepoint sharepoint-2010 document-library sharepointdocumentlibrary splistitem

我在这里有一个有趣的(对我来说很好)问题。我正在进行基于代码的大量文档上传到SharePoint库中。扭曲是在上传后需要在项目属性中维护文件的上次修改日期。

文件详细信息由csv文件确定,该文件包含需要附加到库项目的路径和元数据,因为库基于具有元数据字段的自定义内容类型。

我遇到的问题是修改日期仅在上传最后一个文件时保留。所有其他文件都表示上传时间。我做了一点挖掘并打开了版本控制。事实证明,我上传的文件被多次修改,因为它们已经应用了多个次要版本,而上传的最终文件只有一个。例如。我上传了6个文件来测试这个过程。上传的最后一个文件位于版本.1,其他文件的范围从版本.6到.8到.12。您可以看到的所有文件在上载时的初始设置中都具有正确的修改日期,但是立即发生了修改日期并增加新修改日期的更改。

enter image description here

版本历史: enter image description here

我使用以下方法尝试了约会:

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是libary的文件夹对象。

谢谢。

0 个答案:

没有答案