将base64字符串转换为图片框图像时,应用程序挂起

时间:2018-12-28 06:58:32

标签: c# .net winforms

显示我的表单时,将向它馈送一个包含图像的base64字符串,但是当我尝试在图片框中显示该图像时,应用程序挂起,我不得不强制终止该应用程序。我的问题是如何转换字符串,然后将其显示在图片框中而不会挂起和崩溃。

public partial class DisplayPic : Form
{
    string base64String;
    public DisplayPic(string img)
    {
        base64String = img;
        InitializeComponent();
    }

    private void DisplayPic_Load(object sender, EventArgs e)
    {
        // Convert base 64 string to byte[]
        byte[] imageBytes = Convert.FromBase64String(base64String);
        // Convert byte[] to Image
        using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
        {
            pictureBox1.Image = Image.FromStream(ms, true);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

好的,所以我创建了一个大峡谷;当base64字符串转换为字节时,我使用File.WriteAllBytes()方法保存文件。保存完文件后,我使用了Image.FromFile()方法,该方法随后用于设置图片框图像。

我知道这样做是一种不好的方法,但是由于找不到其他可行的方法,这就是我选择的方法。

感谢您的所有帮助和建议。