C# Lumisoft IMAP附件已保存0字节
我正在尝试使用Lumisoft库通过.NET c#中的IMAP协议保存附件。问题是该文件已下载并可以保存,但其文件大小为0B 附件由C# Lumisoft IMAP附件已保存0字节,c#,imap,attachment,lumisoft,C#,Imap,Attachment,Lumisoft,我正在尝试使用Lumisoft库通过.NET c#中的IMAP协议保存附件。问题是该文件已下载并可以保存,但其文件大小为0B 附件由IMAP\u Fetch\u DataItem\u Rfc822()获取。。变量mail是从流解析的消息:var mail=mail\u message.ParseFromStream(流) 似乎Lumisoft解析器没有正确解码附件。 您确定下载后的附件大小大于零吗 不幸的是,LimiSoFT是相当笨重的,你可以考虑使用商业替代品, 这是我的产品:您需要关闭流数据
IMAP\u Fetch\u DataItem\u Rfc822()获取。
。变量mail
是从流解析的消息:var mail=mail\u message.ParseFromStream(流)代码>
似乎Lumisoft解析器没有正确解码附件。
您确定下载后的附件大小大于零吗
不幸的是,LimiSoFT是相当笨重的,你可以考虑使用商业替代品,
这是我的产品:您需要关闭流数据
:
Stream data = ((MIME_b_SinglepartBase)att.Body).GetDataStream();
using (FileStream fs = File.Create(fPath))
{
LumiSoft.Net.Net_Utils.StreamCopy(data, fs, 4096);
}
data.Close(); // missing close
...
你的意思是LumiSoft.Net.Net\u Utils.StreamCopy(数据,fs,4096)代码>?因为您正在向ms
写信。是的,我尝试了MemoryStream,但忘记了回滚更改。调试时,我可以看到所有元数据,包括图片大小。有趣的是,这在过去已经奏效了。经过一周的测试,我被迫转到MailSystem.NET库。这个可以用,但速度太慢了。
Stream data = ((MIME_b_SinglepartBase)att.Body).GetDataStream();
using (FileStream fs = File.Create(fPath))
{
LumiSoft.Net.Net_Utils.StreamCopy(data, fs, 4096);
}
data.Close(); // missing close
...