2016-11-08 24 views
0

나는 여기서 약간의 문제가있다. 다음은 컨텍스트입니다.파일 시스템에 파일을 저장하는 셰어 포인트 문서 라이브러리

고객 중 한 명은 콘텐츠 데이터베이스가 너무 빠르게 커짐에 따라 콘텐츠 라이브러리에 문서 라이브러리의 문서를 저장하는 대안 솔루션을 개발하도록 요청했습니다. 그들은 문서를 파일 시스템에 저장할 수 있도록 네트워크 저장소를 제공했습니다. 검색 좀하면서 원격 BLOB 저장소RBSRBS이라는 기능을 찾았지만 참고 자료에서 설명한 것처럼 콘텐츠 데이터베이스 당 기능은 이며이 기능은 문맥에 적합하지 않습니다. 내가 함께 왔어요 다른 옵션은 내가 SPFILE 특성 파일 시스템에 SPItemEventProperties의 을 ListItem과 관련 가능성이 삭제 또는 절약 할 수 이벤트를 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. 것은 또 다른 한 번, 사용자 정의 파일 업로드를 개발 스토리지를 네트워크에 직접 파일을 업로드하고있다
  2. 대신 네트워크 스토리지 비즈니스를위한 하나 개의 드라이브입니다 업로드, SharePoint 목록에 항목을 추가하십시오.
+0

의견을 보내 주셔서 감사합니다. ** _ layouts ** 업로드 양식을 복사하고 내 필요를 충족시키기 위해 tweeking하는 것이 최선의 방법입니까? –