2012-01-21 107 views
3

我已創建新文檔庫並使用MS Word文檔模板設置自定義內容類型。當我點擊創建新模板時,它工作正常。但我需要能夠添加一些按鈕事件的邏輯,它將進入該庫並創建一個新文檔,以便當我進入該庫時,我將看到一個由該按鈕事件創建的新文檔。以編程方式在SharePoint文檔庫中添加/創建新文檔

我試圖做它,因爲我會做常規列表項,但我得到了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; 
        } 
       } 
      } 
     } 
    }       
} 
+1

您應該添加一些說明你的答案,以提高其質量(即嘗試添加該文件的東西)職位的代碼。 – m02ph3u5

相關問題