弊社のドキュメントを汎用ファイルサーバーからSharepoint2010に移行する作業を行っていますが、元の作成日プロパティをドキュメントから保持して、日付ではなく元の作成日で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 に答える