Je retourne un flux dans une réponse en définissant l'en-tête content-type
Approprié. Le comportement que je recherche est le suivant:
Si le navigateur est capable de restituer le contenu du type de contenu donné, il doit l'afficher dans la fenêtre du navigateur.
Si le navigateur ne sait pas comment afficher le contenu, il doit alors afficher la boîte de dialogue "Enregistrer sous" dans laquelle le nom du fichier doit être celui fourni dans la réponse.
Le problème est que si je définis l'en-tête Content-Disposition
Avec:
"attachment; filename =" myfile.txt ""
le navigateur affichera toujours la boîte de dialogue "enregistrer sous".
Si je ne définis pas Content-Disposition
, Le nom de fichier utilisé dans la boîte de dialogue "Enregistrer sous" est celui de l'URL qui ne fonctionne pas dans mon cas.
J'ai aussi essayé de régler Content-Disposition
Sur inline
mais le résultat est le même.
La manière correcte pourrait être:
Content-Disposition: inline; filename="myfile.txt"
Je ne sais pas si c'est possible par défaut. Pour des raisons de sécurité, les navigateurs n'envoient pas tous les types de contenu qu'ils peuvent gérer, mais juste quelques Accept-Encoding
, ce qui n’aide pas beaucoup dans votre scénario.
Vous pouvez peut-être demander à votre utilisateur ce qu'il préfère et stocker ces informations dans son profil.