簡體   English   中英

從SharePoint中的_layouts文件夾中獲取文件

[英]Get files from _layouts folder in SharePoint

我正在開發一個項目,我將docx文件添加到Visual Studio中的Layout文件夾中,然后使用這些ducment文件創建內容類型。

問題是我無法以編程方式獲取文檔文件。 使用Web瀏覽器我可以獲取文件但不使用web.GetFolder();. 激活功能時,代碼在功能接收器中運行。

SPSite site = properties.Feature.Parent as SPSite;
SPWeb web = site.RootWeb;

SPFolder docTempFolder = web.GetFolder("_LAYOUTS/Projekt/DocumentTemplates");

這段代碼給了我一個零文件的集合。

我究竟做錯了什么?

謝謝你的幫助。

SPFolder用於從SharePoint文檔庫/列表中獲取對象。 您無法通過嘗試將它們作為SPFolder來訪問文件系統 (14配置單元)中的文件 此外,您無法使用SPWeb.GetFolder因為文件SPWeb.GetFolder您的網絡。 它們在你的硬盤上。

你可以使用GetGenericSetupPath獲得14個配置單元,所以這樣的東西可以工作:

var path = SPUtility.GetGenericSetupPath(@"TEMPLATE\LAYOUTS\Projekt\DocumentTemplates");

您現在可以使用常規流讀取器, System.IO.File等訪問此路徑。


編輯:對於SharePoint 2013及更高版本,上述方法已過時,因為在較新的SharePoint版本中,對_layouts文件夾的引用始終在路徑中包含SharePoint版本(例如,對於SharePoint 2010, /_layouts/15表示SharePoint 2013 /_layouts/14

新方法是SPUtility.GetVersionedGenericSetupPath SharePoint 2010中不存在該方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM