package controllers;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URISyntaxException;
public class ContentDispositionSupport {
private static final String SHORT =
"attachment; filename=\"%s\";";
private static final String FULL =
"attachment; filename=\"%s\"; filename*=UTF-8''%s";
public static String attachment(String filename) {
final String fn_iso8859_1;
try {
fn_iso8859_1 = new String(filename.getBytes("ISO-8859-1"), "ISO-8859-1");
} catch (UnsupportedEncodingException e) {
return String.format(SHORT, filename);
}
final String fn_urlencoded;
try {
fn_urlencoded = new URI(null, filename, null).toASCIIString();
return String.format(FULL, fn_iso8859_1, fn_urlencoded);
} catch(URISyntaxException e) {
return String.format(SHORT, fn_iso8859_1);
}
}
}