C# 以windows窗体显示从Amazon lambda获取的对象
我试图调用AmazonLambda函数来访问存储在AmazonS3存储桶中的特定图像文件。我在这方面取得了成功,我得到了如下所述形式的图像: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
\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图像格式trypb1.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.'