Maybe adding the entire fpExif is too much just to extract the thumbnail. In the attached project you can find the code which locates the thumbnail inside the jpg structure and stores it into a separate TJpegImage. There is also code to rotate the thumbnail according to the information stored in the exif (smartphone images often are upside down...). For those cases in which no thumbnails are embedded I used the standard jpg image but before reading i set the Scale parameter to jsEighths which also speeds up loading a jpeg since it reduces the image to 1/8.The demo only loads these thumbnail images and displays them in a TImage component. The thumbnail viewers mentioned in the other posts are not used at this time.
I am adding a new version of the embedded thumbnail demo. Now it uses a TvThumbImagesViewer to display the thumbnails.