Ich habe ein Problem mit dem Namen eines Anhangs. Wenn ich die Seite auf Google Chrome anrufe, gibt es die Datei mit dem richtigen Namen und der Erweiterung zurück. Ich habe es mit Internet Explorer getestet und es funktioniert auch gut. Das Problem liegt nur bei Firefox. Ich rufe die Site auf und es gibt das erste Wort auf dem Dateititel und keine Erweiterung zurück.
Wenn ich beispielsweise eine Datei namens "Mein Bericht.docx" haben möchte, wird eine Datei namens "Mein" angezeigt. Ich habe gegoogelt und es stellt sich heraus, dass dies ein häufiges Problem mit Leuten ist, weil Browser die Header unterschiedlich lesen. Sie sagten, das Problem sei, den Dateinamen zu zitieren:
Content-Disposition: attachment; filename=My Report.docx
ist jetzt: (notieren Sie die Anführungszeichen)
Content-Disposition: attachment; filename="My Report.docx"
Das hat jedoch nicht für mich funktioniert.
Am Chrom gab es "My Report.docx" (eigentlich mit den Anführungszeichen) zurück. Firefox gab eine ungerade Datei zurück, die die richtige Erweiterung und den richtigen Namen hatte und noch keine Anführungszeichen, aber sie konnte nicht ausgeführt werden. Es war die richtige Dateigröße, die richtige Erweiterung und der richtige Name, aber es konnte nicht ausgeführt werden. Außerdem gibt es ein Leerzeichen vor und nach dem Dateinamen zurück.
Dies sollte wie erwartet funktionieren, hier ist eine weitere SOQ mit dem gleichen Problem:
und auch die Mozilla-Seite (ich nehme an, du hast auf diese verwiesen):
Ich kenne die Details Ihres serverseitigen Codes nicht, aber hier einige Dinge, die Sie bestätigen / versuchen sollten:
wget
oder curl
über die Befehlszeile oder so ähnlich versuchen. Content-Type
korrekt? .png
oder a .xls
? In der Tat wäre es wahrscheinlich am einfachsten, eine einfache Textdatei ( text/plain
) auszuprobieren und sie dann von dort zu übernehmen. Hoffe, das hilft.
Ich weiß, das ist eine sehr alte Frage, aber ich hatte kürzlich das gleiche Problem. Die Lösung ist entweder
Da Sie bereits 2 probiert haben, können Sie versuchen, 1 zu verwenden und zu sehen, wie das funktioniert.
Normalerweise benutze ich die Klasse ContentDisposition
, um meine Kopfzeile für mich zu generieren:
Hoffe, das hilft.
Tags und Links header firefox content-disposition