FileList (css_filelinks, dam_filelinks): Dokumente nach Download zerstört [Gelöst]

  • m.z. m.z.
    Padawan
    0 x
    50 Beiträge
    0 Hilfreiche Beiträge
    13. 11. 2009, 12:37

    Hallo zusammen!

    [b]Problem:[/b]
    Dateien, die über das Content-Element "upload" = FileList (css_filelinks, dam_filelinks) im FE heruntergeladen werden sind zerstört, d.h. nicht mehr richtig zu lesen.

    Die Dateien werden im Sicherheitsmodus gestreamt.

    [TS]tt_content.uploads.20 {
    linkProc{
    jumpurl = 1
    jumpurl.secure = 1
    jumpurl.damSecure = 1
    }
    }[/TS]

    [b]ABER:[/b]
    1) Bei PDF-Dokumenten funktioniert das alles und die PDF's sind OK.
    2) Bei Word-DOC oder OpenOffice-ODT sind die Dateien nach dem Download defekt.

    Schalte ich nun "secure" aus, funktionieren alle Downloads!

    Ich bin echt verwirrt! :o
    Läuft da was beim Streaming der Dateien falsch? Im Bugtracker habe ich nichts gefunden.

    Hattet Ihr auch schon einmal dieses Problem oder gibt es da noch irgendeine Einstellung in TS?

    Ich freue mich auf Eure Lösungsvorschläge.

    VG, Matthias


  • 1
  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    13. 11. 2009, 12:40

    öffne mal das file mit nem text-editor, steht am anfang irgendein php code? der wäre interessant

    georg

  • m.z. m.z.
    Padawan
    0 x
    50 Beiträge
    0 Hilfreiche Beiträge
    13. 11. 2009, 12:56

    Hallo Georg,

    danke für Deinen Tip.

    Nein, die heruntergeladenen Datei enthält gleich von Anfang an typische Binärzeichen. Keinerlei Hinweise auf PHP oder HTML-Fragmente.

    [b]ABER:[/b]
    Beim Vergleich der Word-DOC-Dateien (Original und Download) im HEX-Editor ist mir folgendes aufgefallen: Die erste Zeile der Download-Datei enthält direkt am Anfang zwei Zeichen ("0D0A" "D0CF"), die [b]nicht[/b] in der Originaldatei stehen.

    Ich tippe mal darauf, daß diese beiden zusätzliche Zeichen die Datei unbrauchbar machen.

    [b]Frage:[/b]
    Wo kommen diese beiden Zeichen her; wie bekomme ich sie wieder weg?

    VG, Matthias

  • m.z. m.z.
    Padawan
    0 x
    50 Beiträge
    0 Hilfreiche Beiträge
    13. 11. 2009, 14:30

    Hallo zusammen,

    ich bin mir mittlerweile ganz sicher, daß sich da ein Zeilenumbruch am Anfang der Dateiausgabe (Streaming) "einschmuggelt".

    Sehe ich mir den Dateiinhalt mit var_dump() an, sind die Daten am Anfang aber "sauber".

    Ergo müssen die beiden Zeichen (CRLF) irgendwo anders herkommen.

    Habe die beiden Extensions (css_filelinks, dam_filelinks) komplett auf dem Server gelöscht und sie neu aus dem TER installiert.

    [b]Ergebnis: Keine Änderung. Die DL-Dateien sind noch immer defekt.[/b] #angry#

    Woran kann das bloß noch liegen? Habe testweise mal die EXT:dam_frontend installiert, die auch DAM-Dateien streamt. Da funktioniert es ohne Fehler. Testweise habe ich mal den PHP-Code fürs Streaming aus dam_frontend nach dam_filelinks kopiert (war praktisch fast identisch).

    Aber Pech gehabt, die beiden Zeichen sind noch immer am Dateianfang. ARRRRRG! Was kann ich denn bloß noch versuchen? :o

    VG, Matthias

  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    13. 11. 2009, 14:33

    Hallo,

    ist bei normalen Seiten im QUellcode auch ein Leerzeichen zu Beginn?

    ich würd mal die ext_localconf.php, ext_tables.php und sonst im anschluss alle anderen files checken ob am anfang oder ende irgendein datenmüll steht

    georg

  • m.z. m.z.
    Padawan
    0 x
    50 Beiträge
    0 Hilfreiche Beiträge
    13. 11. 2009, 15:05

    Halle Georg,

    [b]ja, das war es![/b] :)

    Herzlichen Dank für den richtigen Denkanstoß! In einer eigenen UserFunc (die diese [i]gruseligen[/i] "openPic"-Befehle killt) war ein Leerzeichen nach dem PHP-Closing-Tag "?> ". :o

    Dafür einen dicken Kuß [b]:-X[/b]

    In der alten ZEND Entwicklungsumgebung gab es den schönen Befehl "Zeilenenden säubern". Leider gibt es den bei Eclipse/ Aptana nicht (bzw. ich habe ihn nicht gefunden) :o

    VG, Matthias

    [b]Nachtrag: Für das Problem mit den Whitespaces am Zeilenende gibt es für Eclipse ein gutes PlugIn, das diese Funktion einschaltet.[/b]

    To remove trailing whitespace check out the AnyEdit plugin:
    [url]http://andrei.gmxhome.de/anyedit/[/url]

  • 1