Мы получаем файлы от различных объектов, которые могут содержать части MIME (которые представляют собой PDF-файлы) в кодировке base64. Мы извлекаем его и храним, чтобы открыть позже. Это работало хорошо для всех, кроме одного из лиц. Их файлы сохранятся, но не смогли их открыть.
Вот код:
public byte[] GetAttachmentByName(string name)
{
foreach (var attachment in _mimeMessage.BodyParts.OfType<MimePart>())
{
if (attachment.ContentId != name)
continue;
using (var stream = new System.IO.MemoryStream())
{
using (var filtered = new FilteredStream(stream))
{
filtered.Add(DecoderFilter.Create("base64"));
attachment.ContentObject.DecodeTo(filtered);
return stream.ToArray();
}
}
}
return null;}
Вот как выглядит часть MIME:
MIME-версия: 1.0
Content-Type: multipart / related; граница = "= - antAW7IrKfe1DvH3559M9g =="
...
- = - antAW7IrKfe1DvH3559M9g ==
Тип контента: приложение / pdf
Content-Transfer-Encoding: base64
Content-Описание:
Content-Id: "AC13127925.pdf"
...
bGVyDTw8IA0vU2l6ZSAxODkgDS9Sb290IDE4OCAwIFIgDS9JbmZvIDEgMCBSIA0 + PiANc3Rh
cnR4cmVmDTU3MzU3MiANJSVFT0YN
- = - antAW7IrKfe1DvH3559M9g == -
(Я включил начало, середину и конец части MIME. В другой части файла также есть XML, но он обрабатывается просто отлично. Проблема, с которой мы столкнулись, связана с MIME / PDF.)
Любое руководство вообще приветствуется.