您可以在Sharepoint 2010文档中修改Date Created属性吗?

时间:2010-06-30 15:37:46

标签: sharepoint date sharepoint-2010 documents creation

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

2 个答案:

答案 0 :(得分: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
  }
}

答案 1 :(得分:0)

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