【问题标题】:Can you modify the Date Created property on Sharepoint 2010 documents?您可以修改 Sharepoint 2010 文档上的 Date Created 属性吗?
【发布时间】:2011-03-10 05:09:49
【问题描述】:

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

【问题讨论】:

    标签: sharepoint date sharepoint-2010 documents creation


    【解决方案1】:

    使用标准 WebServices 是不可能的,但您可以使用如下方法编写自己的 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
      }
    }
    

    【讨论】:

    • 我使用的是 Sharepoint DLL,所以结果有点不同,但这基本上是我必须做的,谢谢!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      • 2022-11-20
      • 2013-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多