0

我正在将我们公司的文档从通用文件服务器迁移到 Sharepoint 2010,并且想知道是否有任何方法可以保留文档中的原始 Created Date 属性,以便它以原始创建日期而不是日期显示在 Sharepoint它已添加到 Sharepoint。这可能吗?我们目前在自定义迁移程序中使用 Sharepoint 的 Web 服务,将所有文档从文件服务器添加到 Sharepoint,同时添加一些元数据值。

4

2 回答 2

3

使用标准 Web 服务是不可能的,但您可以使用如下方法编写自己的 WS:

[WebMethod]
public void FixFileData(string fileUrl, DateTime created, DateTime modified, string author, string editor)
{
  Guid siteId = SPContext.Current.Site.ID;
  Guid webId = SPContext.Current.Web.ID;
  try
  {
    SPSecurity.RunWithElevatedPrivileges(delegate
    {
      using (SPSite site = new SPSite(siteId))
      {
        using (SPWeb web = site.OpenWeb(webId))
        {
          SPFile file = web.GetFile(fileUrl);
          SPListItem fileItem = file.Item;
          fileItem[SPBuiltInFieldId.Created] = SPUtility.CreateISO8601DateTimeFromSystemDateTime(created.ToUniversalTime());
          fileItem[SPBuiltInFieldId.Modified] = SPUtility.CreateISO8601DateTimeFromSystemDateTime(modified.ToUniversalTime());
          try
          {
            fileItem[SPBuiltInFieldId.Author]=web.EnsureUser(author);
          }
          catch (Exception)
          {
          // Your loggin code
          }
          try
          {
            fileItem[SPBuiltInFieldId.Editor] = web.EnsureUser(editor);
          }
          catch (Exception)
          {
          // Your loggin code
          }
          fileItem.UpdateOverwriteVersion();
          if (fileItem.ParentList.EnableMinorVersions)
          {
            file.Publish("SPFileUpload");
          }
          if (fileItem.ModerationInformation != null)
          {
            file.Approve("SPFileUpload");
          }
        }
      }
    });
  }
  catch (Exception)
  {
  // Your loggin code
  }
}
于 2010-06-30T17:03:43.767 回答
0

如果它是 2010 Publishing 站点,那么您可以使用站点菜单下的管理内容链接来复制或移动文件,它将保留文件系统属性,包括创建者、创建者、修改者和修改者。

于 2015-10-28T11:50:08.287 回答