Добавить / Создать новый документ в библиотеке документов SharePoint программно - PullRequest
3 голосов
/ 22 января 2012

Я создал новую библиотеку документов и настроил пользовательский тип содержимого с помощью шаблона документов MS Word.Когда я нажимаю Создать новый шаблон, он работает нормально.но мне нужно иметь возможность добавить некоторую логику в событие кнопки, когда оно войдет в эту библиотеку и создаст новый документ, чтобы при входе в эту библиотеку я видел новый документ, созданный этим событием кнопки.

Я попытался сделать это так же, как и обычный элемент списка, но я получил следующую ошибку в item.update:

Чтобы добавить элемент в библиотеку документов, используйте SPFileCollection.Add ()

Теперь я провел небольшое исследование, но везде я вижу код для загрузки файла в библиотеку документов, но не могу найти, как добавить новый документ, используя связанный шаблон.в этой библиотеке документов.

, пожалуйста, помогите и спасибо.

1 Ответ

0 голосов
/ 20 мая 2016
public static void colFileMtod()
{
    using (SPSite objsite = new SPSite("http://smi-dev.na.sysco.net/SyscoFinance/FSR/"))
    {
        using (SPWeb objWeb = objsite.OpenWeb())
        {
            SPFileCollection collFiles = objWeb.GetFolder("BPCPublishRecord").Files;
            SPList lst = objWeb.Lists["BPCPublishRecordCopy"];

            if (lst != null)
            {

                if (objWeb.Lists.Cast<SPList>().Any(list => list.Title.Equals("BPCPublishRecordCopy", StringComparison.OrdinalIgnoreCase)))
                {
                    foreach (SPFile file in collFiles)
                    {
                        string strDestUrl = collFiles.Folder.Url + "/" + file.Name;
                        byte[] binFile = file.OpenBinary();

                        SPUser oUserAuthor = file.Author;
                        SPUser oUserModified = file.ModifiedBy;
                        System.DateTime dtCreated = file.TimeCreated;
                        System.DateTime dtModified = file.TimeLastModified;

                        SPFile oFileNew = collFiles.Add(strDestUrl, binFile, oUserAuthor, oUserModified, dtCreated, dtModified);
                        SPListItem oListItem = lst.AddItem();
                        oListItem = oFileNew.Item;
                        oListItem["Created"] = dtCreated;
                        oListItem["Modified"] = dtModified;
                        oListItem.Update();
                        objWeb.AllowUnsafeUpdates = true;
                    }
                }
            }
        }
    }                          
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...