私は、任意の PDF ファイルが J2EE Web サーバーからダウンロードされるようになるいくつかの要件に取り組んでいます。名前は次のようになります。
Xxxxxxxxxxxxxxxxxxx - Yyyyyyyyyy - Aaaaaaaaaaa - Bbbbbbbb ccc Ddddddddddddd - abc1234560 - 2009-03-26 – 235959.pdf
これで、RFC2183 のいくつかのセクションを読みました。
http://www.ietf.org/rfc/rfc2183.txt
例えば
tspecials' characters SHOULD be represented as a single
非token'のみを含む短い (長さ <= 78 文字) パラメータ値。ASCII 文字のみを含み、tspecials' characters, SHOULD be represented as
引用符付き文字列を含む短いパラメーター値。78 文字を超えるパラメータ値、または非 ASCII 文字を含むパラメータ値は、[RFC 2184] で指定されているようにエンコードする必要があります。
などなど。これらのRFCをすべて読まないと、何百万もの問題が発生する可能性があります...または、そのようなRFC仕様を処理するライブラリを選択します。Javaにそのようなものはありますか?それとも、私は偏執的ですか?実際には、このヘッダーを出力ストリームに書き込むだけで十分です:
String filename = "\"" + filename.replace("\"", "\\\"") + "\"";
addHeader("Content-Disposition", "attachment; filename=" + filename);