Download files with non-ascii characters v2

We can't set the ContentDisposition 'attachment' in the constructor.
If the filename contains non-ascii characters, the constructor will throw an exception.
In this revision, if you don't specify a name, it is taken from the filename (this is what Symphony does if you don't provide a name, but here we can convert the filename to an ascii string so it won't throw any exception).