我创建了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\\";
答案 0 :(得分:3)
Bitmap
类有几个Save
方法的重载。其中一个将文件名作为参数,这意味着您可以使用
bitMapImage.Save(mynewpath + "somefilename.png", ImageFormat.Png);
答案 1 :(得分:1)
问题似乎与您的代码冲突(在那里从图像中加载文件并将其返回) - 无论如何:Image类上有一个“保存”方法,所以只需在同一个服务器上使用它。 MapPath技巧......只需确保ASP.NET帐户具有目标文件夹的访问/写入权限:
string mynewpath = Request.PhysicalApplicationPath + "Upload\\myFile.png";
bitMapImage.Save(mynewpath);
备注:这是使用你的路径,但我不知道这是否真的是你的问题的正确选择 - 正如我所说:MapPath应该是更安全的赌注。