Загрузка тела документа в SharePoint из CRM Notes C#

Я могу загрузить документ, но при просмотре / загрузке возникает ошибка. Он говорит, что столкнулся с проблемой открытия этого PDF. Столкнулся с проблемой

У меня есть следующий код

using (var stream = new System.IO.MemoryStream())
{
    byte[] myByte = System.Text.ASCIIEncoding.Default.GetBytes(documentBody);
    foreach (byte element in myByte)
    {
        stream.WriteByte(element);
    }
    stream.Seek(0, SeekOrigin.Begin);
    var newFile = new FileCreationInformation { Url = fileName, ContentStream = stream, Overwrite = true };

    file = list.RootFolder.Files.Add(newFile);
    file.CheckOut();
    file.CheckIn(string.Empty, CheckinType.MajorCheckIn);
    context.Load(file);
    context.ExecuteQuery();
}

documentBody это поле documentbody от Annotation (нота). Что-то не так с stream?

1 ответ

Решение

documentBody это Base64, закодированный в CRM, поэтому вам нужно сначала декодировать его перед сохранением в SharePoint.

Попробуйте это, чтобы получить данные документа.

byte[] data = Convert.FromBase64String(e.Attributes["documentbody"].ToString());

Другие вопросы по тегам