将base64string转换为图像

时间:2014-09-17 07:53:20

标签: c#

我从android app发送base64string到webservice。 webservice将base64string再次转换为图像。 但是,当我再次将base64string转换为图像时,我从Web服务获得了以下错误:

  

“GDI +中发生了一般性错误。”这个错误我在服务器上   仅

下面是我的代码:

public string Base64ToImage(string base64String, string imgName)
{
    try
    {
        // Convert Base64 String to byte[]
        byte[] imageBytes = Convert.FromBase64String(base64String);
        MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);

        // Convert byte[] to Image
        ms.Write(imageBytes, 0, imageBytes.Length);
        System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);

        image.Save(
            "D:\\apps\\PJP_TEST\\PJPTest\\Online\\ImageStorage\\" + imgName);

        return "Success";
    }
    catch (Exception ex)
    {
        return ex.Message;
    }           
}

1 个答案:

答案 0 :(得分:4)

我想用'服务器'你的意思是'网络服务器'。您可能无权在文件夹D:\apps\PJP_TEST\PJPTest\Online\ImageStorage中写入。

检查运行该应用程序的用户是否具有对指定文件夹的读写权限。

如上所述,直接编写文件更容易:

File.WriteAllBytes( Path.Combine
                    ( @"D:\apps\PJP_TEST\PJPTest\Online\ImageStorage\"
                    , imgName
                    )
                  , imageBytes
                  );