我正在获取代表附件的内存流。附件是一个HTML文档,如下所示。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
...
</HTML>
<p><img border="0" src="http://www.somewebsite.com/mcv18/mapp_v50/images/mcrptgenlogo.jpg"></p>
我使用的代码是:
Using strm As New MemoryStream()
anAttachment.Save(strm)
strm.Position = 0
Using sr As New StreamReader(strm)
Dim attachmentAsString As String = sr.ReadToEnd()
End Using
End Using
anAttachment.Save(strm)
是我使用第三方库附件类实例获取附件内容的地方。无论如何,我在attachmentAsString中得到的结果只是一个“&lt;”。
如果我使用此代码:
anAttachment.Save("C:\Temp\Attachement.tmp"
attachmentAsString = File.ReadAllText("C:\Temp\Attachement.tmp")
我得到完全相同的结果。 “&LT;”
当我检查磁盘上的文件时,我可以看到整个Html文档。 在第一个块代码中,如果我在ReadToEnd调用之后检查strm.Position,它一直到流的末尾。 我可以单独读取字节,它似乎每次都会提升位置,但它会返回一些我不太喜欢的整数。
有人可以告诉我可以采取哪些措施让它发挥作用吗?