How to set response filename without forcing "save as" dialog

Solution 1:

The correct way could be:

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

Solution 2:

I'm not sure if that's possible by default. Due to security concerns, browsers don't send all content-types they can handle, but just a few Accept-Encoding, which doesn't help a lot in your scenario.

Maybe you can ask your user what they prefer and store that information in their profile.