So richten Antwort Dateinamen ohne Zwang „speichern unter“ Dialog
-
20-09-2019 - |
Frage
Ich kehre um einen Strom in irgendeiner Reaktion des entsprechenden content-type
Header zu setzen. Das Verhalten ich suche, ist dies:
-
Wenn der Browser Inhalt des angegebenen Inhaltstypen zu machen im Stande ist, dann sollte es sie im Browser-Fenstern angezeigt werden.
-
Wenn der Browser nicht weiß, wie der Inhalt zu machen, dann sollte es die „Speichern unter“ -Dialog angezeigt, in dem der Dateiname der in der Antwort zur Verfügung gestellt werden sollte.
Das Problem ist, dass wenn ich den Content-Disposition
Header mit:
"attachment; filename =" myfile.txt ""
wird der Browser immer den Dialog "Speichern unter" angezeigt werden soll.
Wenn ich nicht Satz Content-Disposition
, die verwendeten Dateinamen in das „Speichern unter“ Dialog ist der in der URL, die nicht Arbeit in meinem Fall der Fall ist.
Ich habe auch versucht Content-Disposition
zu inline
Einstellung aber das Ergebnis ist das gleiche.
Lösung
Der richtige Weg könnte sein:
Content-Disposition: inline; filename="myfile.txt"
Andere Tipps
Ich bin nicht sicher, ob das möglich ist standardmäßig aktiviert. Aufgrund von Sicherheitsbedenken, Browser sie bewältigen können nicht alle Content-Typen senden, aber nur ein paar Accept-Encoding
, die nicht viel in Ihrem Szenario hilft.
Vielleicht können Sie dem Benutzer fragen, was sie bevorzugen und speichern diese Informationen in ihrem Profil.