Files
Walleby/Wallet/CreateProfileImageHandler.cs
TheXamlGuy 9daebc7ba2 Codemaid
2024-07-17 21:43:58 +01:00

24 lines
743 B
C#

using Toolkit.Foundation;
namespace Wallet;
public class CreateProfileImageHandler(IFileProvider fileProvider,
IImageReader imageReader) :
IHandler<CreateEventArgs<ProfileImage>, IImageDescriptor?>
{
public async Task<IImageDescriptor?> Handle(CreateEventArgs<ProfileImage> args,
CancellationToken cancellationToken)
{
if (await fileProvider.SelectFiles(new FileFilter("Image files", ["jpg", "jpeg", "png"]))
is { Count: 1 } files)
{
if (files.FirstOrDefault() is string file)
{
using FileStream stream = File.OpenRead(file);
return imageReader.Get(stream, 200, 200, true);
}
}
return default;
}
}