【发布时间】:2013-10-14 19:05:40
【问题描述】:
我正在尝试在我的服务器上将位图文件保存为 jpg,但无法这样做。我能够将它保存到流中并显示它。但是,一旦我尝试将其保存到文件中,它就什么也做不了。下面是我的代码,谁能告诉我为什么它不保存到文件中:
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
string jsonStr = Request.Form["output"];
var sigToImg = new SignatureToImage();
var signatureImage = sigToImg.SigJsonToImage(jsonStr);
Bitmap bm2 = signatureImage as Bitmap;
Bitmap bm3 = new Bitmap(bm2);
Response.ContentType = "image/jpeg";
//bm3.Save(Response.OutputStream, ImageFormat.Jpeg); If i use this it displays the image fine
System.IO.FileStream fs = System.IO.File.Open(Server.MapPath("~/Images") + "MyImage.jpg", FileMode.Create);
bm3.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);
bm2.Dispose();
bm3.Dispose();
Response.End();
}
}
【问题讨论】:
-
我认为您的部分问题是
Server.MapPath将返回一个没有尾随目录分隔符的值。所以你的文件名是"c:\whatever\ImagesMyImage.jpg"。您需要添加干预"\"。