我尝试从签名邮件中提取一个或多个 PDF 文件。只是我尝试加载 smime.p7m
mimeMessage = MimeMessage.Load(mem); //mem 是来自 File 创建的 MemoryStream,File.WriteAllBytes(file,fileAttachment.Content); (EWS 文件附件)
这是行不通的,因为文件开头为:
0€ *†H†÷ €0€10 + 0€ *†H†÷ €$€‚ &Content-Type: multipart/mixed; 边界="----=_NextPart_000_0024_01D432F9.7988F010"
因此,我在 Content-Type(带有 IndexOf、Substring)之前删除了这些内容(并非所有内容都可见).. 现在我可以将其加载到 MineMessage 中。现在我尝试解码 Base64 字符串,但如果我使用 decodeto 方法文件大小几乎相同但文件已损坏,如果我查看 Outlook 解码的原始 PDF 文件的原始数据和我解码的原始数据,它们几乎是相同但在最后 10% 中它们不同(在原始中有更多的换行符)。
所以我尝试使用
Convert.FromBase64String() 但我总是收到无效的 base64 代码异常
带标题的 PDF 部分以以下内容开头:
内容类型:应用程序/pdf;name="DE_Windows 7_WebDAV.pdf" 内容传输编码:base64 内容处理:附件;文件名="WebDAV.pdf"
‚JVBERi0xLjUNCiW1tbW1DQoxIDAgb ...
(在 , 之前和之后,这里不可见字符,我也删除了它们)。如果我将 base64 代码(使用 Windows 编辑器复制和粘贴为文本)加载到在线解码器中,它正在解码,如果我上传带有 base64 代码的文件,它会失败......并且在 base64 中是一些非 base64 字符“未知”,“, ““向上箭头符号”,我认为这会杀死解码,这里的base64代码太长=((见图)
但这 1:1 什么 File.WriteAllBytes(file,fileAttachment.Content); 或/和 fileAttachment.Load(file); 保存
你能帮我吗?而这个未知的Chars又是从哪里来的呢?
扬帆大鱼
相关分类