GDI+;中发生一般性错误;asp.NETC#

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.

我需要将base64string保存到本地路径中的图像。下面是我使用的代码

        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)