Я пытаюсь вызвать функцию Amazon Lambda для доступа к указанному c файлу изображения, хранящемуся в моем хранилище Amazon S3. Я добился успеха в этом отношении, и я получаю изображение в форме, указанной ниже:
\u0006D�������\u0012V���ϯC�w�����\t�iW7�`�#.\u0007��a��\u000fƚv......
Что это за тип точного потока, который возвращается?
Теперь я пытаюсь отобразить это в виде windows в виде изображения:
Program.cs
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);
}
Form1.cs
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);
}
}
}
Когда я запускаю этот код, функция AWS не вызывается до после Я закрываю пустую форму, которая отображается, и затем я получаю следующее исключение в методе Image.fromStream () .
System.ArgumentException: 'Parameter is not valid.'
Мне нужны некоторые указатели о том, как правильно преобразовать поток ответов, который я получаю, во что-то, что можно показать как изображение в форма windows.