GDI+;中发生一般性错误;asp.NETC#
我需要将base64string保存到本地路径中的图像。下面是我使用的代码GDI+;中发生一般性错误;asp.NETC#,asp.net,image,c#-4.0,file-upload,base64,Asp.net,Image,C# 4.0,File Upload,Base64,我需要将base64string保存到本地路径中的图像。下面是我使用的代码 byte[] bytes = Convert.FromBase64String(hdnBase64.Value.Split(',')[1]); System.Drawing.Image image; using (MemoryStream ms = new MemoryStream(bytes)) { image = System.
byte[] bytes = Convert.FromBase64String(hdnBase64.Value.Split(',')[1]);
System.Drawing.Image image;
using (MemoryStream ms = new MemoryStream(bytes))
{
image = System.Drawing.Image.FromStream(ms);
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
//image.Save("C:\\test.png");
}
string filename = DateTime.Now.ToString("yyyyMMddHHmmssfff");
string path = Path.Combine(Server.MapPath("~/Temp"), filename + ".png");
image.Save(path);
imgBrowse.Attributes.Add("src", path);
hdnBase64是一个包含base64映像的hiddenfield。执行时,我得到了一般性错误。请帮我解决这个问题
提前感谢,,
Ganesh M您必须在using部分包含Save(path)调用。 您已经从MemoryStream对象创建了图像,一旦退出using块,该对象将自动释放
byte[] bytes = Convert.FromBase64String(hdnBase64.Value.Split(',')[1]);
System.Drawing.Image image;
using (MemoryStream ms = new MemoryStream(bytes))
{
image = System.Drawing.Image.FromStream(ms);
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
string filename = DateTime.Now.ToString("yyyyMMddHHmmssfff");
string path = Path.Combine(Server.MapPath("~/Temp"), filename + ".png");
image.Save(path);
}
imgBrowse.Attributes.Add("src", path);
尝试
MemoryStream
的重载构造函数,作为MemoryStream ms=newmemorystream(bytes,0,bytes.Length)