private static Stream CloneStream(Stream stream)
{
if (stream == null || !stream.CanRead)
return null;
long pos = stream.Position;
stream.Seek(0, SeekOrigin.Begin);
Stream clone = new MemoryStream(new BinaryReader(stream).ReadBytes((int)stream.Length));
clone.Seek(0, SeekOrigin.Begin);
stream.Seek(pos, SeekOrigin.Begin);
return clone;
}
private static string GetMimeType(BinaryFileName value)