我正在努力将公司的文档从通用文件服务器迁移到Sharepoint 2010,并且想知道是否有任何方法可以保留文档中的原始Created Date属性,以便它在Sharepoint中显示原始创建日期而不是比它添加到Sharepoint的日期。这可能吗?我们目前在自定义迁移程序中使用Sharepoint的Web服务,从文件服务器向Sharepoint添加所有文档,同时在此过程中添加一些元数据值。
答案 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年发布网站,那么您可以使用“网站”菜单下的“管理内容”链接来复制或移动文件,它将保留文件系统属性,包括“创建”,“创建者”,“修改”和“修改”。修改者。