C# MVC流图片旋转

C# MVC流图片旋转,c#,asp.net-mvc,graphics,C#,Asp.net Mvc,Graphics,我想在MVC应用程序中使用旋转图像。 为此,我设计了一个返回旋转图像的控制器,但我无法让它工作 这是我的命令: public ActionResult PictureStreamRotate(string filename) { Image image = Image.FromFile(filename); image.RotateFlip(RotateFlipType.Rotate90FlipNone); MemoryStream stream = new Memor

我想在MVC应用程序中使用旋转图像。 为此,我设计了一个返回旋转图像的控制器,但我无法让它工作

这是我的命令:

public ActionResult PictureStreamRotate(string filename)
{
    Image image = Image.FromFile(filename);
    image.RotateFlip(RotateFlipType.Rotate90FlipNone);

    MemoryStream stream = new MemoryStream();
    image.Save(stream, ImageFormat.Jpeg);
    return File(stream, "image/jpeg");
}
流回的图像无效。谁都不知道。 输入图片是一个
JPG
文件


顺便说一句,即使我删除了这行
Image.RotateFlip
它也不会工作。

这是因为流的位置在写入的数据之后<代码>ToArray()从一开始就获取流中的所有内容。或者,您可以将
Position
设置为零或
Seek
返回到图像数据的开头

在LinqPad中尝试以下操作:

var x = new MemoryStream();
x.WriteByte(123);
x.ReadByte().Dump();
它给出了
-1
,结果是

然后使用
x.Position=0
然后你就可以拿回
123

顺便说一句,
ToArray()
复制数据,我想这不是您想要的