以编程方式在SharePoint文档库中添加/创建新文档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以编程方式在SharePoint文档库中添加/创建新文档相关的知识,希望对你有一定的参考价值。

我创建了一个新的文档库,并使用MS Word文档模板设置自定义内容类型。当我点击创建新模板时,它工作正常。但我需要能够在按钮事件中添加一些逻辑,它将进入该库并创建一个新文档,这样当我进入该库时,我将看到一个由该按钮事件创建的新文档。

我尝试这样做,因为我会做一个常规列表项,但我在item.update上收到以下错误:

要将项添加到文档库,请使用SPFileCollection.Add()

现在我做了一些研究,但在任何地方我都看到了将文件上传到文档库的代码,但是我无法找到如何使用我在该文档库中关联的模板添加新文档。

请帮助和谢谢。

答案
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;
                    }
                }
            }
        }
    }                          
}

以上是关于以编程方式在SharePoint文档库中添加/创建新文档的主要内容,如果未能解决你的问题,请参考以下文章

SharePoint:如何以编程方式将项目添加到自定义列表实例

以编程方式在Sharepoint中实例化Web部件页面

在文档库中添加自定义菜单项时的 SharePoint 问题

以编程方式将列表视图添加到 Sharepoint 2013 C# 中的所有列表

如何以编程方式将文档从网站集的文档库移动(存档)到另一个网站集

如何在 SharePoint 文档库中显示项目的 url