I have files on disk, they are protected with the SecureLink module.
When I direct a user to a file, I also add a ?f=filename_goes_here.exe argument to the url.
In the config I do:
add_header Content-Disposition "attachment; filename=\"$arg_f\"";
This seems to work fine, except when filenames get less "nice", for example - "This is a Filename [LOL].ext"
This still works fine in Chrome and IE, however firefox will escape the spaces with %20.
I tried base64 encoding the filename, and decoding it with nginx (HttpSetMiscModule), with no success.