1

我在这里遇到了一个小问题。

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 种类型的框架,这有时真的让我感到困惑。

4

5 回答 5

6

您使用的是哪个框架版本?该方法仅在框架第 4 版后可用。http://msdn.microsoft.com/en-us/library/system.io.stream.copyto(v=vs.100).aspx

于 2012-11-05T11:32:23.737 回答
1

移动

attach = new Attachment(actualAttachment, ContentType);

在 StreamWriter 的使用括号内并将其更改为

ms.Position = 0;
attach = new Attachment(ms, ContentType);

然后,您可以摆脱 MemoryStream 实际附件。

您已经通过 StreamWriter 将数据放入内存流中,只需使用它即可。

于 2012-11-05T11:31:13.073 回答
1

试试这个:

ms.WriteTo(actualAttachment);

于 2013-03-19T14:48:37.707 回答
0

解决了!

改变了

 ms.CopyTo(actualAttachment);
 actualAttachment.Position = 0;


 ms.WriteTo(actualAttachment);
 actualAttachment.Position = 0;

解决了这个问题。
感谢所有试图提供帮助的人!

于 2012-11-05T13:29:47.427 回答
0

我遇到了这个特殊的错误。我的项目针对 3.5 框架。错误 8“System.IO.Stream”不包含“CopyTo”的定义,并且找不到接受“System.IO.Stream”类型的第一个参数的扩展方法“CopyTo”(您是否缺少 using 指令或装配参考?)

我的代码:

流输入流 = Request.InputStream;

FileStream fileStream = new FileStream(path, FileMode.OpenOrCreate);

inputStream.CopyTo(fileStream);

我将项目设置 > ASP.net 配置 > 目标框架更改为 4.0 并重新打开。有效。谢谢

于 2013-02-24T17:19:33.153 回答