簡體   English   中英

使用Sharepoint 2010客戶端對象模型搜索站點中以特定擴展名結尾的所有文檔

[英]Search for all documents in a site that end with a specific extention using Sharepoint 2010 Client Object Model

我對Sharepoint編程絕對是陌生的,因此我需要一些指導,以了解如何獲取擴展名與傳入值匹配的Sharepoint網站中存在的所有文檔的列表。


背景:作為合並的一部分,數百萬(7TB)的文檔被導入到Sharepoint中,而與文件類型無關,只是為了使我們能夠從已關閉的系統中獲取存儲的數據。

這些文檔中包括危險文件類型,例如.exe和.dll文件,我們需要保留這些文件類型,但他們希望采取適當的措施以確保這些類型的惡意文件不能直接下載。

我們的計划是提取與搜索列表匹配的每個文件,將其壓縮,上載並刪除原始文件。 為此,我們需要一個一次性應用程序。

實際上涉及多個站點-理想情況下,我很想運行一個查詢來訪問所有站點中的所有文檔(它們都在一個根目錄下,但是它們每個都有自己的數據庫),但是我可以遍歷一組查詢網站。


我的想法是使用Sharepoint客戶端對象模型對每個站點執行查詢,以給我返回給定類型的所有文件的列表。 我想要類似的東西

SharepointSite site = new SharepointSite(siteElement, settings.RootURL);
ClientContext clientContext = site.Context;
ListCollection listCollection = clientContext.Web.Lists;
clientContext.Load(listCollection, l=>l.Name.EndsWith(".exe"));
clientContext.Load(listCollection);
clientContext.ExecuteQuery();

但這絕對不是。

我應該如何處理這個問題?

從客戶端對象模型中的基本編碼開始。 您只需要遍歷站點,其列表,然后遍歷其內容。

http://msdn.microsoft.com/en-us/library/ee857094.aspx

最后,我針對數據庫創建了一個直接查詢,以獲取所有匹配文檔的特定列表,而無需迭代數百萬個項目,然后能夠使用客戶端組件提取我想要的確切文件。

暫無
暫無

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

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