It is possibile to retrieve device image file name after load?

I've searched in events (onimageloading etc) but found no idea. 
Can I retrieve original filename of the image loaded into a SfImageEditor? (if possibile i want to send to a REST WS with his filename instead of creating a fake one). 


1 Reply

SS SaiGanesh Sakthivel Syncfusion Team December 26, 2023 01:47 PM UTC

Hi Denis,


#Regarding How to retrieve image file name after load

Your requirement can be achieved in the sample level. You can get the file name inside the image loaded event. Please refer to the following code snippet for your reference.


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();

}


Please refer to the demo sample in the attachment. please let us know if you have any concerns.


Regards,
SaiGanesh Sakthivel


Attachment: ImageEditorMAUI_58c1f780.zip

Loader.
Up arrow icon