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

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;
                 }
             }
         });
     }

 

posted on 2014-11-04 15:45  SUNJUNLIN  阅读(388)  评论(0编辑  收藏  举报

导航