Загрузка тела документа в 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());