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