Well, the simplest way is:
file.InputStream.Position = 0;
… assuming the stream supports seeking. However, That may do interesting things to the Image
if you’re not careful – because it will have retained a reference to the stream.
You may be best off loading the data into a byte array, and then creating two separate MemoryStream
objects from it if you still need to. If you’re using .NET 4, it’s easy to copy one stream to another:
MemoryStream ms = new MemoryStream();
Request.Files["logo"].InputStream.CopyTo(ms);
byte[] data = ms.ToArray();