Add a file to a Document Library and update metadata properties in a single method添加文档的方法

时间:2023-03-08 19:23:35
private void AddFileToDocumentLibrary(string documentLibraryUrl, string filename, byte[] file_bytes, string itemTitleText)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(documentLibraryUrl))
{
using (SPWeb web = site.OpenWeb())
{
web.AllowUnsafeUpdates = true;
SPDocumentLibrary documentLibrary = (SPDocumentLibrary)web.Lists["MyDocumentLibraryName"];
SPFileCollection files = documentLibrary.RootFolder.Files;
SPFile newFile = files.Add(documentLibrary.RootFolder.Url + "/" + filename, file_bytes, true); SPList documentLibraryAsList = web.Lists["MyDocumentLibraryName"];
SPListItem itemJustAdded = documentLibraryAsList.GetItemById(newFile.ListItemAllFields.ID);
SPContentType documentContentType = documentLibraryAsList.ContentTypes["Document"]; //amend with your document-derived custom Content Type
itemJustAdded["ContentTypeId"] = documentContentType.Id;
itemJustAdded["Title"] = itemTitleText;
//set other propeerties here..
itemJustAdded.Update();
newFile.CheckIn("New", SPCheckinType.OverwriteCheckIn);
web.AllowUnsafeUpdates = false;
}
}
});
}