我创建了一个新的文档库,并使用MS Word文档模板设置自定义内容类型。当我点击创建新模板时,它工作正常。但我需要能够在按钮事件中添加一些逻辑,它将进入该库并创建一个新文档,这样当我进入该库时,我将看到一个由该按钮事件创建的新文档。
我尝试这样做,因为我会做一个常规列表项,但我在item.update上收到以下错误:
要将项目添加到文档库,请使用SPFileCollection.Add()
现在我做了一些研究,但在任何地方我都看到了将文件上传到文档库的代码,但没有找到如何使用我在该文档库中关联的模板添加新文档的地方。
请帮助和谢谢。
答案 0 :(得分:0)
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;
}
}
}
}
}
}