[SOLVED] Download einer unbekannten PDF-Datei: Wie Dateinamen auslesen?



  • Hallo, zusammen.

    ich sehe momentan scheinbar den Wald vor lauter Bäumen nicht, oder bin schlicht zu blöde...

    Folgendes Problem:
    Meine Anwendung soll von einer Website PDF-Dokumente herunterladen. Die Anforderung an den Server erfolgt an ein php-Skript mit einem in den Link eingebetteten Schlüssel.

    Der Server sendet daraufhin auch brav die Datei, sie ist auch über QNetworkReply::readAll() erreichbar.

    Was ich aber nicht habe, ist der Dateiname. Ich finde ihn nirgendwo. Folglich weiß ich nicht, unter welchem Namen ich das Dokument speichern soll...

    Die Anwendung emuliert einen normalen Webclient, da der Anbieter kein API zur Verfügung stellt. Sie macht also nichts anderes als der User am Browser.
    Wenn ich allerdings mit einem x-beliebigen Browser ein solches Dokument herunterlade, bekomme ich von seinem Speichern-Dialog den korrekten Dateinamen vorgegeben. Irgendwo muss der also mitgesendet werden...

    Weiß jemand, wo ich meinen Dateinamen auslesen kann?

    Vielen Dank für jeden Hinweis.

    Viele Grüße
    Jörg Pauly



  • Nachtrag:

    Ich habe testweise einen Haltepunkt nach auslesen des QNetworkReply-Objektes gesetzt und mal mit dem Speichereditor nach einem Teil des Dateinamens gesucht...(ich weiß ja, wie sie heißen muss.)

    Siehe da: er ist da!
    Er liegt VOR der Adresse des reply-Objektes in dem String 'attachment/filename="EDDV_VisualOperationChart_1.pdf"'.

    Die große Frage lautet nun: Wie kann ich ihn auslesen?



  • Ich hab's gefunden:

    per

    @ QString pinfo = pReply->rawHeader("Content-Disposition");@

    erhält man den @ attachment; filename=@

    Daraus den Dateinamen zu extrahieren ist dann eine Leichtigkeit...


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.