it-swarm.com.de

So legen Sie den Antwortdateinamen fest, ohne das Dialogfeld "Speichern unter" zu erzwingen

In einigen Antworten wird ein Stream zurückgegeben, wobei der entsprechende content-type - Header gesetzt wird. Das Verhalten, das ich suche, ist das folgende:

  • Wenn der Browser Inhalte des angegebenen Inhaltstyps rendern kann, sollte er diese im Browserfenster anzeigen.

  • Wenn der Browser nicht weiß, wie der Inhalt gerendert werden soll, sollte das Dialogfeld "Speichern unter" angezeigt werden, in dem der Dateiname der in der Antwort angegebene sein sollte.

Das Problem ist, dass wenn ich den Content-Disposition Header setze mit:

"Anhang; Dateiname =" myfile.txt ""

der Browser zeigt immer den Dialog "Speichern unter" an.

Wenn ich Content-Disposition Nicht einstelle, ist der im Dialogfeld "Speichern unter" verwendete Dateiname derjenige in der URL, der in meinem Fall nicht funktioniert.

Ich habe auch versucht, Content-Disposition Auf inline zu setzen, aber das Ergebnis ist das gleiche.

108
Hugo Palma

Der richtige Weg könnte sein:

Content-Disposition: inline; filename="myfile.txt"

159
Patonza

Ich bin nicht sicher, ob das standardmäßig möglich ist. Aus Sicherheitsgründen senden Browser nicht alle Inhaltstypen, die sie verarbeiten können, sondern nur einige Accept-Encoding, was in Ihrem Szenario nicht viel hilft.

Vielleicht können Sie Ihren Benutzer fragen, was er bevorzugt, und diese Informationen in seinem Profil speichern.

2
Rubens Farias