Matthias Piepkorn created WICKET-4934:
-----------------------------------------
Summary: DownloadLink uses wrong encoding for spaces/non-ASCII
characters
Key: WICKET-4934
URL: https://issues.apache.org/jira/browse/WICKET-4934
Project: Wicket
Issue Type: Bug
Components: wicket
Affects Versions: 6.4.0
Environment: IE7/8, FF 17.0.1, Chrome 23
Reporter: Matthias Piepkorn
Priority: Minor
Attachments: DownloadLink.patch
When downloading a file with spaces and non-ASCII characters in the filename
using DownloadLink, all browsers I tested show a wrong filename in the file
download dialog.
For a file named Test 'ä'.txt, I got the following output from different
browsers:
IE: Test+'ä'.txt
FF: Test+%27%C3%A4%27.txt
Chrome: Test+%27ä%27.txt
I have attached a patch that fixes the issue for me. The problem is that
a) the used URL encoding is wrong. PATH encoding, not QUERY encoding is required
b) only IE needs the filename to be encoded, other browsers seem to work with
the original name
See e.g.
http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http
for a discussion of the underlying issue.
Note: I do not believe the attached patch is the optimal fix for this issue. I
would prefer removing the encoding handling from DownloadLink and putting it
into AbstractResource.setResponseHeaders(), so other components using
attachments benefit, too.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira