0

私はここで少し問題に陥っています。ファイルシステムにファイルを保存するSharepointドキュメントライブラリ

コンテンツデータベースが急激に増加しているため、ドキュメントライブラリのドキュメントをコンテンツデータベースに格納する代わりのソリューションを開発するよう依頼したユーザーがいました。彼らは私たちにネットワークストレージを提供して、ドキュメントをファイルシステムに格納できるようにしました。グーグルで調べたところ、リモートブロブストレージRBSRBSという名前の機能が見つかりましたが、参考文献のように、これはコンテンツデータベースの機能には当てはまりませんです。私が作ってみた他のオプションは、に、私は、ファイルシステムにSPItemEventProperties財産ののListItemに関連したSPFILEを保存して、おそらく削除または可能性イベントをItemAddedので、SPItemEventReceiverの使用であり、 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自体がドキュメントライブラリから削除されるか、ファイルが変更の影響を受けません。だから私の質問は:この問題の解決策はありますか?このクエストで私を助けることができる他の考え?

ありがとうございます!

答えて

1

あなたが他の考えを尋ねてきたように私の心に入ってくる

  1. ことの一つは、1つのビジネスのためのドライブの代わりに、ネットワークストレージ
  2. もう一つは、一度、カスタムファイルアップロードを開発したネットワークストレージに直接ファイルをアップロードしてあるさアップロード、SharePointリストにエントリを追加します。
+0

フィードバックいただきありがとうございます。 ** _レイアウト**のアップロードフォームのコピーを作成し、それを私のニーズを満たすために最善の方法を実行するのですか? –

関連する問題