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

以编程方式在SharePoint文档库中添加/创建新文档,sharepoint,content-type,sharepointdocumentlibrary,Sharepoint,Content Type,Sharepointdocumentlibrary,我创建了一个新的文档库,并使用MS Word文档模板设置了自定义内容类型。当我点击创建新模板时,它工作正常。但我需要能够在按钮事件上添加一些逻辑,它将进入该库并创建一个新文档,这样当我进入该库时,我将看到一个由该按钮事件创建的新文档 我尝试像执行常规列表项一样执行此操作,但在item.update上出现以下错误: 要将项目添加到文档库,请使用SPFileCollection.add() 现在我做了一些研究,但我到处都能看到将文件上载到文档库的代码,但我找不到如何使用文档库中关联的模板添加新文档

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

我尝试像执行常规列表项一样执行此操作,但在item.update上出现以下错误:

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

现在我做了一些研究,但我到处都能看到将文件上载到文档库的代码,但我找不到如何使用文档库中关联的模板添加新文档

请提供帮助并感谢。

public static void colFileMtod()
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;
                    }
                }
            }
        }
    }                          
}
{ 使用(SPSite objsite=新SPSite(“http://smi-dev.na.sysco.net/SyscoFinance/FSR/")) { 使用(SPWeb objWeb=objsite.OpenWeb()) { SPFileCollection collFiles=objWeb.GetFolder(“BPCPublishRecord”).Files; SPList lst=objWeb.Lists[“BPCPublishRecordCopy”]; 如果(lst!=null) { if(objWeb.Lists.Cast().Any(list=>list.Title.Equals(“BPCPublishRecordCopy”,StringComparison.OrdinalIgnoreCase))) { foreach(collFiles中的SPFile文件) { 字符串strdestrl=collFiles.Folder.Url+“/”+file.Name; 字节[]binFile=file.OpenBinary(); SPUser-ouserautor=file.Author; SPUser oUserModified=file.ModifiedBy; System.DateTime dtCreated=file.TimeCreated; System.DateTime dtModified=file.timelastmedited; SPFile of ilenew=collFiles.Add(stresturl、binFile、userautor、usermodified、dtCreated、dtModified); SPListItem oListItem=lst.AddItem(); oListItem=oFileNew.项目; oListItem[“已创建”]=dtCreated; oListItem[“修改”]=dtModified; Update(); objWeb.AllowUnsafeUpdates=true; } } } } } }
您可以发布按钮点击事件(试图添加文档的内容)中的代码吗?您应该在答案中添加一些解释,以提高其质量。