|
internal string?
GetImageName()
{
string? fileName = string.Empty;
switch (this.imagesource.Source)
{
case FileImageSource fileImageSource:
fileName = fileImageSource.File;
break;
case StreamImageSource streamImageSource:
Stream stream =
streamImageSource.Stream.Invoke(default).GetAwaiter().GetResult();
if (stream is FileStream fs)
{
fileName = fs.Name;
}
break;
case UriImageSource uriImageSource:
if
(Uri.TryCreate(uriImageSource.Uri.ToString(), UriKind.Absolute, out Uri? uri))
{
fileName =
uri.Segments.LastOrDefault();
break;
}
break;
}
if (Path.HasExtension(fileName))
{
fileName =
Path.GetFileNameWithoutExtension(fileName);
}
return fileName;
}
private void
imagesource_ImageLoaded(object sender, EventArgs e)
{
var filename = this.GetImageName();
}
|