private void UploadWithOriginatorUser(SPFolder destinationFolder, SPContentType destinationContentType, SPField descriptionField, InfoPathAttachment attachment, string destinationFileURL) { using (SPSite site = new SPSite(destinationFolder.ParentWeb.Site.ID, __ActivationProperties.OriginatorUser.UserToken)) { using (SPWeb web = site.OpenWeb(destinationFolder.ParentWeb.ID)) { SPFolder tempDestFolder = web.GetFolder(destinationFolder.UniqueId); //SPFile fileAdded = tempDestFolder.Files.Add( destinationFileURL, attachment.DecodedFile, null, __ActivationProperties.OriginatorUser, __ActivationProperties.OriginatorUser, DateTime.Now, DateTime.Now, true); SPFile fileAdded = tempDestFolder.Files.Add( destinationFileURL, attachment.DecodedFile, null, true); if (destinationContentType != null) { fileAdded.Item.Properties["ContentTypeId"] = destinationContentType.Id.ToString(); fileAdded.Item.SystemUpdate(); } CopyDescription(attachment, descriptionField, fileAdded.Item); } } //set contenttype }
private void UploadWithSystemAccount(SPFolder destinationFolder, SPContentType destinationContentType, SPField descriptionField, InfoPathAttachment attachment, string destinationFileURL) { //add file SPFile fileAdded = destinationFolder.Files.Add(destinationFileURL, attachment.DecodedFile, null, __ActivationProperties.OriginatorUser, __ActivationProperties.OriginatorUser, DateTime.Now, DateTime.Now, true); //set contenttype if (destinationContentType != null) { fileAdded.Item.Properties["ContentTypeId"] = destinationContentType.Id.ToString(); fileAdded.Item.SystemUpdate(); } //copy description CopyDescription(attachment, descriptionField, fileAdded.Item); }
private void CopyDescription(InfoPathAttachment attachment, SPField descriptionField, SPListItem item) { try { if (descriptionField != null) { item[descriptionField.Id] = attachment.Description; item.SystemUpdate(); } } catch { } }