我在这里遇到一些问题。
Error1'System.IO.MemoryStream'不包含的定义 'CopyTo从'
我的代码:
// Error occurs here (CopyTo) (For Framework 4.0)
ms.CopyTo(actualAttachment);
actualAttachment.Position = 0;
//Change CopyTo to WriteTo For Framework 2.0
ms.WriteTo(actualAttachment);
actualAttachment.Position = 0;
我不得不重新输入我的整个代码以确保所有内容都进入流中,因为在发送文件后删除文件时遇到了一些问题。但现在我收到了这个错误。
所以基本上它现在不应该保存任何东西。
我根本没注意到我使用的是什么框架。 我每天使用4种类型的框架,有时候会让我感到困惑。
答案 0 :(得分:7)
您使用的是哪个框架版本?该方法仅在框架的第4版之后可用。 http://msdn.microsoft.com/en-us/library/system.io.stream.copyto(v=vs.100).aspx
答案 1 :(得分:1)
移动
attach = new Attachment(actualAttachment, ContentType);
在StreamWriter的使用括号内,并将其更改为
ms.Position = 0;
attach = new Attachment(ms, ContentType);
然后你可以摆脱MemoryStream actualAttachment。
您已经通过StreamWriter将数据放入内存流中,只需使用它即可。
答案 2 :(得分:1)
试试这个:
ms.WriteTo(actualAttachment);
答案 3 :(得分:0)
解决!
改变
ms.CopyTo(actualAttachment);
actualAttachment.Position = 0;
要
ms.WriteTo(actualAttachment);
actualAttachment.Position = 0;
解决了这个问题。
感谢大家的帮助!
答案 4 :(得分:0)
我遇到了这个特殊的错误。 我的项目是针对3.5框架的。 错误8'System.IO.Stream'不包含'CopyTo'的定义,并且没有可以找到接受类型'System.IO.Stream'的第一个参数的扩展方法'CopyTo'(你是否缺少using指令或者装配参考?)
我的代码:
Stream inputStream = Request.InputStream;
FileStream fileStream = new FileStream(path,FileMode.OpenOrCreate);
inputStream.CopyTo(FILESTREAM);
我更改了项目设置> ASP.net配置>目标框架到4.0 它重新开放。有效。感谢