Ich gebe einen Stream in einer Antwort zurück und setze den entsprechenden content-type
Header. Das Verhalten, das ich suche, ist folgendes:
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 nicht einstelle Content-Disposition
, ist der im Dialogfeld "Speichern unter" verwendete Dateiname derjenige in der URL, der in meinem Fall nicht funktioniert.
Ich habe auch versucht, auf einzustellen Content-Disposition
, inline
aber das Ergebnis ist das gleiche.
"
) um Ihren Dateinamen haben. Wenn Ihr Dateiname Nicht-ASCII-Zeichen enthält, sollte diese andere Frage eine Diskussion darüber enthalten, was zu tun ist.Ich bin mir 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.
quelle