2016-08-01 2 views
0

C# CSOM 라이브러리를 사용하여 SharePoint 문서 라이브러리에 파일을 업로드하려고합니다. 내가 업로드하는 문서 라이브러리에는 정보 권한 관리 설정이 적용되어 있습니다.IRM을 사용하여 SharePoint 라이브러리에 문서 업로드

나는 파일을 업로드 할 때 (PDF 문서 또는 Word 문서 중 하나 - 둘 다 적용되는 보호의 어떤 종류없이), 나는 다음과 같은 오류 메시지가 나타납니다

이 라이브러리의 파일을 허용하지 않습니다 주어진 타입. 당신도 권리 관리 또는 이전에 Word 문서와 PDF 문서를 모두 권리가 지원하는 것을 내가 인상이었다이 라이브러리

에서 다운로드 한 문서를 다시 업로드를 지원하는 새로운 보호되지 않은 파일을 업로드해야합니다 조치? 수동으로 두 파일을 SharePoint UI를 통해 업로드하려고 시도했습니다 (사용중인 파일의 문제를 제외하기 위해). 그리고 문제없이 문서 라이브러리에 추가됩니다.

내가 파일을 업로드하기 위해 사용하고 코드는 다음과 같습니다 (그것은 거의 https://github.com/OfficeDev/PnP/blob/master/Samples/Core.LargeFileUpload/Core.LargeFileUpload/FileUploadService.cs에서 샘플에서 가져온 것) :

using (var ctx = GetContext(server)) 
{ 
    Web web = ctx.Web; 
    ctx.Load(web.Lists, lists => lists.Include(list => list.Title, list => list.RootFolder)); 
    ctx.ExecuteQuery(); 

    if (!ListExists(ctx, web, listName)) 
    { 
     throw new InvalidOperationException($"The list '{listName}' does not exist!"); 
    } 

    FileCreationInformation newFile = new FileCreationInformation 
    { 
     ContentStream = fileStream, 
     Url = Path.GetFileName(fileName), 
     Overwrite = true 
    }; 

    List docs = web.Lists.GetByTitle(listName); 
    Microsoft.SharePoint.Client.File uploadFile = docs.RootFolder.Files.Add(newFile); 

    if (fileProperties != null && fileProperties.Any()) 
    { 
     var listItem = uploadFile.ListItemAllFields; 

     foreach (var fileProperty in fileProperties) 
     { 
      listItem[fileProperty.Key] = fileProperty.Value; 
     } 

     listItem.Update(); 
    } 

    ctx.Load(uploadFile); 
    uploadFile.CheckIn("Initial checkin", CheckinType.MajorCheckIn); 
    ctx.ExecuteQuery(); 
} 

내가 부족 단계가 있습니까?

답변

0

추가 조사 후에 업로드 된 파일의 이름 지정으로 인해 문제가 발생한 것으로 보입니다. 내가 사용한 파일 이름에는 파일 확장자가 없었습니다.이 파일 확장자는 IRM 보호자 SharePoint가 업로드 된 파일에 적용될 수 있어야합니다 (이제는 뒤늦게 밝혀졌습니다!).

관련 문제