如何将一个MemeryStream转换成FileStream? 既然你不想保存成文件 为什么要用到 FileStream? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 想做什么操作,如果是读取的话,直接用 StreamReader 就可以了。 直接使用MemeryStream一样的,FileStream是必须和文件挂钩的,如果你的需求是流的读写,完全没必要转换到FileStream,直接对MemeryStream操作更好。 我要把流添加到Attachment ,这个构造函数虽然是说Stream都可以但我实际试过了Stream \StreamReader\ MemeryStream都不能用。只有FileStream可以用,而且MSDN上也是这么演示的。朋友们,谢谢你们给我出主意,但这没意义。只有FileStream可用 把你的测试代码贴出来,并指出哪步通不过,对于可接受Stream类型的方法,没有指明必须是FileStream,那么任何类型的Stream都应该是可以的,有问题那只可能是自己代码处理上的问题。 MemoryStream pathFileName = movejpg(comname); //得到一个带图片的内存流Attachment attachment = new Attachment(pathFileName, System.Net.Mime.MediaTypeNames.Image.Jpeg); attachment.Name = "测试"; attachment.NameEncoding = Encoding.UTF8; attachment.ContentId = "afwewrw.jpg"; attachment.ContentDisposition.Inline = true; pictureBox1.Image = Image.FromStream(MemoryStream);//这个图片显示正常 message.Attachments.Add(attachment); //这个就不正常,发邮的邮件,附件是0字节,把这个流改成一个FileStream并指向一个具体文件,马上就能正常显示 倒数第二句是pictureBox1.Image = Image.FromStream(pathFileName);//这个图片显示正常对不起,打错了 http://msdn.microsoft.com/zh-cn/library/ab7hb4y5.aspx这是MSDN上的示例 在你message.Attachments.Add(attachment);代码之前,先输出下pathFileName 的Position属性,这个属性必须是0才行,如果指向了流的末尾,那么就读取不到任何数据,最终就导致你发送的附件为0字节。 MemoryStream 应该是可以的。msdn也说了是: 一个包含附件内容的可读 Stream你可以把这句注释掉再看看: pictureBox1.Image = Image.FromStream(MemoryStream);//这个图片显示正常你要保证 MemoryStream.Position = 0 (从头开始) 注释掉: pictureBox1.Image = Image.FromStream(MemoryStream);或者 message.Attachments.Add(attachment); 之前,从新设置 MemoryStream.Position = 0; 原来 设置 memoryStream.Position = 0;就好使了 哈哈 多谢 初学者 求教。。。关于listview 关于C# 加密的问题 让VC#来控制的程序的版本号 用C#实现类似QQ的聊天工具软件,不知道如何在局域网内通信,请有经验的朋友提供思路 谁能解决这个vs.net2005水晶报表系统问题我就服谁 快递api 关于FreeTextBox中的大文本内容插入Sql数据库出错的问题 C#在导出Excel时出问题 如何在 c# 控制台应用程序中显示密码? 求C#大神 【急!急!急!关于异步编程!要详细解释!】C#异步编程那位高人会啊??
attachment.Name = "测试";
attachment.NameEncoding = Encoding.UTF8;
attachment.ContentId = "afwewrw.jpg";
attachment.ContentDisposition.Inline = true;
pictureBox1.Image = Image.FromStream(MemoryStream);//这个图片显示正常 message.Attachments.Add(attachment); //这个就不正常,发邮的邮件,附件是0字节,把这个流改成一个FileStream并指向一个具体文件,马上就能正常显示
pictureBox1.Image = Image.FromStream(MemoryStream);//这个图片显示正常你要保证 MemoryStream.Position = 0 (从头开始)
就好使了 哈哈 多谢