代码之家  ›  专栏  ›  技术社区  ›  Shawn Steward

是否可以修改SharePoint 2010文档的“创建日期”属性?

  •  0
  • Shawn Steward  · 技术社区  · 14 年前

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

    2 回复  |  直到 9 年前
        1
  •  3
  •   Per Jakobsen    14 年前

    使用标准的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
      }
    }
    
        2
  •  0
  •   Larry Bolton    9 年前

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