C# C:下载PDF并将其附加到MailMessage已损坏

C# C:下载PDF并将其附加到MailMessage已损坏,c#,pdf-generation,mailmessage,C#,Pdf Generation,Mailmessage,我试图先下载一个pdf作为字符串,然后将其附加到邮件消息。以下是我迄今为止所做的工作 string htmlAttachment = webClient.DownloadString((HttpUtility.HtmlDecode(dictIterator.Value))); MemoryStream stream = new MemoryStream(); StreamWriter writer = new StreamWriter(stream); writer.Write(htmlAtta

我试图先下载一个pdf作为字符串,然后将其附加到邮件消息。以下是我迄今为止所做的工作

string htmlAttachment = webClient.DownloadString((HttpUtility.HtmlDecode(dictIterator.Value)));
MemoryStream stream = new MemoryStream();
StreamWriter writer = new StreamWriter(stream);
writer.Write(htmlAttachment);
writer.Flush();
stream.Position = 0;
msg.Attachments.Add(new Attachment((Stream)stream, dictIterator.Key));

但每当我打开pdf附件时,它就会说“图像数据不足”。它是否与编码有关?我是否应该直接将其作为流下载,而不是首先将其作为字符串下载?

是的,您应该以二进制文件而不是字符串下载文件。。不涉及编码。。纯二进制

PS-在附加文件之前,尝试将文件本地保存到磁盘。然后从磁盘打开它。
这将消除MailMessage出现问题的可能性。

以字符串形式下载二进制文件是最有可能的问题。欢迎使用StackOverflow!请看,如果共识是否定的,他们就不应该这样做。