流作为System.Net.Mail的附件是0字节
发布时间:2020-12-16 00:22:51 所属栏目:asp.Net 来源:网络整理
导读:我有一个项目,我正在使用PDF生成器将文件发送给用户。我们希望给用户提供将该文件附加到电子邮件的选项,我们无法将Stream对象和Attachment逻辑一起使用。 我们从ABCpdf开始,它有两种保存方式:它可以保存到Stream,或者给它一个字符串,它会尝试保存到磁
我有一个项目,我正在使用PDF生成器将文件发送给用户。我们希望给用户提供将该文件附加到电子邮件的选项,我们无法将Stream对象和Attachment逻辑一起使用。
我们从ABCpdf开始,它有两种保存方式:它可以保存到Stream,或者给它一个字符串,它会尝试保存到磁盘上的一个文件。我们两个都没有问题。 Stream stream = new MemoryStream(); myPdf.Save(stream); 在这一点上,一切都很酷 – 流有几千字节的数据,如果.Save()到一个文件,你将获得一个具有相同字节数的实际文件。 所以我们现在附上一个电子邮件(初始化邮件对象后,设置为:和从:等): mail.Attachments.Add(new Attachment(stream,"myPdf.pdf")); mail.Send(); …得到我们,只要收到一个0字节的电子邮件,但正确的文件名。 我在网上找到的所有示例都使用StreamReader或StreamWriter或Flush()或其他东西。它似乎总是比简单的传递一个Stream更复杂,但也许只有一两行更复杂。没有一个例子从Stream开始 – 他们总是试图将一个数组变成一个Stream,以显示你是多么容易,或从磁盘获取一个文件(我们不能做,这就是为什么我们很兴奋使用流)。 无论如何,如果有人可以解释我做错了什么或者我应该做什么,我真的很感激。谢谢。 解决方法
一个猜测…返回数据流直到开始之前发送nit
// Set the position to the beginning of the stream. stream.Seek(0,SeekOrigin.Begin); mail.Attachments.Add(new Attachment(stream,"myPdf.pdf")); mail.Send(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – VS2017 15.3解决方案文件中的新GlobalSection是什么
- asp.net – Facebook应用程序仅适用于管理员.为什么?
- asp.net-mvc-3 – 从JsonResult MVC3 / Razor中动态显示表/
- asp.net – 如何使用PSAKE发布网站
- .net-core – 如何在Asp.net核心中使用Akka.Net 1.3.0配置的
- 在ASP.NET MVC中使用自定义验证替换默认客户端验证
- asp.net-mvc – asp.net mvc 3 – ajax表单提交和验证
- asp.net – 从Web API获取空的500 http状态代码
- 在asp.net ajax工具包中组合脚本
- asp.net – 禁用web.config继承?
推荐文章
站长推荐
- 使用ASP.NET MVC进行Windows身份验证
- asp.net – 使用basicHttpBinding时无法识别的属
- ASP.Net MVC C#另一个viewmodel中的两个viewmode
- asp.net – 拒绝访问端口“COM1”
- asp.net-mvc-4 – ASP.NET Web API架构建议/反馈
- Asp.net mvc – 获取上传文件的完整文件名
- 初识ABP vNext(8):ABP特征管理
- asp.net-mvc-3 – MVC3 Html.EditorFor在我的视图
- 我的ASP.Net代码可以从sendgrid得到确认邮件已发
- asp.net – VS 2010 Web.config转换进行调试
热点阅读