3

我创建了一个bitmap,我想将它保存在我的上传文件夹中。我怎样才能做到这一点?

我的代码:

public FileResult image(string image)
{
    var bitMapImage = new Bitmap(Server.MapPath("/Content/themes/base/images/photo.png"));
    Graphics graphicImage = Graphics.FromImage(bitMapImage);
    graphicImage.SmoothingMode = SmoothingMode.AntiAlias;
    graphicImage.DrawString(image, new Font("Trebuchet MS,Trebuchet,Arial,sans-serif", 10, FontStyle.Bold), SystemBrushes.WindowFrame, new Point(15, 5));
    graphicImage.DrawArc(new Pen(Color.Red, 3), 90, 235, 150, 50, 0, 360);
    MemoryStream str = new MemoryStream();
    bitMapImage.Save(str, ImageFormat.Png);
    return File(str.ToArray(), "image/png");
}

我将使用的路径:

string mynewpath = Request.PhysicalApplicationPath + "Upload\\";
4

2 回答 2

3

该类Bitmap有几个Save方法的重载。其中一个以文件名作为参数,这意味着您可以使用

bitMapImage.Save(mynewpath + "somefilename.png", ImageFormat.Png);
于 2012-09-18T12:20:37.993 回答
1

这个问题似乎与您的代码冲突(您从图像中加载文件并返回它) - 无论如何:您的图像类上有一个“保存”方法,所以只需将它与相同的 Server.MapPath 技巧一起使用。 .. 只需确保 ASP.NET 帐户对您的目标文件夹具有访问/写入权限:

string mynewpath = Request.PhysicalApplicationPath + "Upload\\myFile.png";
bitMapImage.Save(mynewpath);

备注:这是使用您的路径,但我不知道这是否真的是您的问题的正确选择 - 正如我所说: MapPath 应该是节省的赌注。

于 2012-09-18T12:19:49.677 回答