C# 以windows窗体显示从Amazon lambda获取的对象

C# 以windows窗体显示从Amazon lambda获取的对象,c#,winforms,amazon-s3,C#,Winforms,Amazon S3,我试图调用AmazonLambda函数来访问存储在AmazonS3存储桶中的特定图像文件。我在这方面取得了成功,我得到了如下所述形式的图像: \u0006D�������\u0012V���ϯC�w�����\t�iW7�`�#.\u0007��a��\u000fƚv...... 返回的确切流类型是什么? 现在,我尝试在windows窗体中将其显示为图像: Program.cs 表格1.cs 当我运行这段代码时,AWS函数直到我关闭显示的空表单之后才被调用,然后我在Image.fromStr

我试图调用AmazonLambda函数来访问存储在AmazonS3存储桶中的特定图像文件。我在这方面取得了成功,我得到了如下所述形式的图像:

\u0006D�������\u0012V���ϯC�w�����\t�iW7�`�#.\u0007��a��\u000fƚv......
返回的确切流类型是什么?

现在,我尝试在windows窗体中将其显示为图像:

Program.cs

表格1.cs

当我运行这段代码时,AWS函数直到我关闭显示的空表单之后才被调用,然后我在Image.fromStream()方法中得到以下异常


我需要一些关于如何正确地将我得到的响应流转换为可以在windows窗体中显示为图像的内容的指针。

应用程序下的代码。

在主窗体关闭之前不会调用Run。你需要把代码放在别处。一个选项是将它放在
应用程序之前的
Main
中。运行
并将其传递给表单的构造函数。@Zer0感谢您的帮助。但是您知道如何在windows窗体中显示它吗?此流的确切形式是什么?图像的文件格式是什么?@Zer0.jfif图像格式try
pb1.image=新位图(流)<代码>位图
继承自
图像
并支持JPEG。
static async Task Main()
    {
        Application.SetHighDpiMode(HighDpiMode.SystemAware);
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);

        Form1 form = new Form1();
        Application.Run(form);
        string key = "xyz.jfif";
        string result = await GetLambdaResponse("{\"type\":\"get\",\"key\":\"" + key + "\"}");
        form.UpdateImage(result);
    }
public partial class Form1 : Form
{
    private PictureBox pb1;
    public Form1()
    {
        InitializeComponent();
        this.Load += Form1_Load;
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        pb1 = new PictureBox();
        pb1.SizeMode = PictureBoxSizeMode.AutoSize;
        this.Controls.Add(pb1);
    }

    public void UpdateImage(string result)
    {
        MemoryStream stream = new MemoryStream(Encoding.UTF32.GetBytes(result));

        if(pb1 != null)
        {
            pb1.Image = Image.FromStream(stream);
        }
    }
}
System.ArgumentException: 'Parameter is not valid.'