0
我在這裏遇到了一些麻煩。以下是背景:在文件系統上存儲文件的Sharepoint文檔庫
我們的一位客戶要求我們開發一種替代解決方案,以將文檔庫的文檔存儲在內容數據庫中,因爲他們的內容數據庫增長過快。他們爲我們提供了一個網絡存儲,以便文件可以存儲在文件系統中。 Google搜索了一下之後,我發現了一個名爲遠程Blob存儲的功能RBSRBS,但正如參考文獻所說,這是每個內容數據庫的功能,這是上下文不可接受的功能。另一種選擇我想出是利用SPItemEventReceiver,以便在ItemAdded事件中,我可以拯救SPFILE與列表項的SPItemEventProperties的屬性的文件系統相關聯,並可能刪除或截斷SPFile對象
public static void DeleteAssociatedFile(SPWeb web, SPListItem item)
{
try
{
if (item == null) { throw new ArgumentNullException("item"); }
if (item.FileSystemObjectType == SPFileSystemObjectType.File)
{
web.AllowUnsafeUpdates = true;
using (var fileStream = item.File.OpenBinaryStream())
{
if (fileStream.CanWrite)
{
fileStream.SetLength(0);
}
}
item.File.Update();
}
}
catch (Exception ex)
{
// log error message
Logger.Unexpected("ListItemHelper.DeleteAssociatedFile", ex.Message);
throw;
}
finally
{
web.AllowUnsafeUpdates = false;
}
}
強制它不將其內容存儲到內容數據庫中。但它沒有解決。每次我以某種方式設法刪除或截斷與ListItem關聯的SPFile時,ListItem本身或者從文檔庫中被刪除,或者文件不會受到更改的影響。所以我的問題是:是否有解決這個問題的方法?任何其他的想法可以幫助我在這個追求?
在此先感謝!
感謝您的反饋。它是否製作了** _佈局**上傳表單的副本,並調整它以滿足我的需求最佳途徑? –