Das Fragezeichen ist das Trennzeichen zu den Parametern. Eine
URL enthält also davor im Allgemeinen eine Dateiendung, es sei denn es handelt sich um ein Verzeichnis, das dann umgeleitet wird.
Jedenfalls kannst du in diesem Fall nach dem Fragezeichen suchen, und auf den teil davor ExtractFileExt anwenden.
Und so musst du dir eben die möglichen Fälle alle anschauen.