Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将文件附加到电子邮件时使用MemoryStream作为内容源,C#_C#_Email_Memorystream_Attachment - Fatal编程技术网

将文件附加到电子邮件时使用MemoryStream作为内容源,C#

将文件附加到电子邮件时使用MemoryStream作为内容源,C#,c#,email,memorystream,attachment,C#,Email,Memorystream,Attachment,因此,我在尝试使用MemoryStream作为内容源附加文件时遇到了一些麻烦 现在,我正在从远程web服务器获取图像,并尝试将它们打包成一封电子邮件,作为每日报告 我已经完成了抓取、解析和图像提取,并且我已经测试过它是否有效。我面临的问题是,当我使用MemoryStream作为内容源/内容流创建附件对象时,电子邮件包含一个空白文件/图像。但是,当我指定驻留在硬盘上的实际文件时,它会毫无问题地附加到消息上,并且收到的消息是完美的 显然,在附加文件并发送它们之前,我不希望在本地缓存任何图像,因为这会

因此,我在尝试使用MemoryStream作为内容源附加文件时遇到了一些麻烦

现在,我正在从远程web服务器获取图像,并尝试将它们打包成一封电子邮件,作为每日报告

我已经完成了抓取、解析和图像提取,并且我已经测试过它是否有效。我面临的问题是,当我使用MemoryStream作为内容源/内容流创建附件对象时,电子邮件包含一个空白文件/图像。但是,当我指定驻留在硬盘上的实际文件时,它会毫无问题地附加到消息上,并且收到的消息是完美的

显然,在附加文件并发送它们之前,我不希望在本地缓存任何图像,因为这会在缓存和清除它们时产生不必要的开销。但是,如果需要的话,我可以把这当作最后的手段

我的问题是,在创建附件对象时,使用MemoryStream作为内容流是否存在已知问题,或者是否有什么我忘记了


谢谢

我正在尝试我的心灵调试能力:你已经在内存流中加载了数据,但在读取之前忘记了将位置重置为零。如果是,

myMemoryStream.Position = 0

处于战术位置可能会有所帮助。

我正在尝试我的心理调试能力:你在内存流中加载了数据,但在读取之前忘记将位置重置为零。如果是,

myMemoryStream.Position = 0

处于战术位置可能会有所帮助。

发布代码中不起作用的相关部分,并添加您用来创建电子邮件的内容。见解新闻社?其他库?发布不起作用的代码的相关部分,并添加您用来创建电子邮件的内容。见解新闻社?其他图书馆吗?+1。我建议改为设置Position=0,以便在与原始MemoryStream相同的字节数组上创建克隆的r/o内存流!这正是问题所在。但是,天啊,天啊,我现在觉得自己很愚蠢。我建议改为设置Position=0,以便在与原始MemoryStream相同的字节数组上创建克隆的r/o内存流!这正是问题所在。但是,老兄,老兄,我现在觉得自己很愚蠢。