我发现上传代码,此代码包含Stream.CopyTo
方法。如何在.NET Framework 3.5上使用Stream.CopyTo?
例子:
file.Stream.CopyTo(requestStream); // .NET Framework 4.0
我如何可以复制 “file.Stream” 到 “requestStream”?
我发现上传代码,此代码包含Stream.CopyTo
方法。如何在.NET Framework 3.5上使用Stream.CopyTo?
例子:
file.Stream.CopyTo(requestStream); // .NET Framework 4.0
我如何可以复制 “file.Stream” 到 “requestStream”?
基本上,你不能。它只有在.NET 4中实现你可以自己写一个类似的方法,但...甚至使其扩展方法:
// Only useful before .NET 4
public static void CopyTo(this Stream input, Stream output)
{
byte[] buffer = new byte[16 * 1024]; // Fairly arbitrary size
int bytesRead;
while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, bytesRead);
}
}
+1,但请删除第二个“this”;-) – 2011-04-20 13:20:23
@Robert:哎呀:)完成。 – 2011-04-20 13:24:15
有一段时间我以为有一些非常棒的C#扩展方法功能我以前没有见过! – MattDavey 2011-04-20 13:25:32
在.NET之前的版本4.0,你必须编写自己的方法复制流:http://stackoverflow.com/questions/230128/best-way-to-copy-between-two-stream-instances-c – 2011-04-20 13:14:01