我試圖使用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();
}
是否有步驟我失蹤?