基本的にユーザーがアップロードしたファイルのテーブルである GWT & App Engine アプリケーションのページがあります。
BlobServiceImpl の doGet 関数の最後の部分は、ユーザーが要求したときに BLOB を提供します。
// got the entity already
filename = (String) entity.getProperty("filename");
resp.addHeader("Content-Disposition", "filename=" + filename);
blobstoreService.serve(blobKey, resp);
上記のコードは、エンティティ メタデータからファイル名を取得し、HttpServletResponse でファイル名を設定してから、実際の blob を提供します。
私が抱えている問題は、ファイル名にスペースがあるファイルの場合、Firefox がファイル名を最初の単語のみに設定することです。スペースの後のすべてが除外されます。「My Amazing File.xls」というファイルが「My」として保存されてしまうので、これはかなり面倒です。
おそらく文字エンコーディングと関係がありますか?他のブラウザで正常に動作するのは奇妙です。
助けてくれてありがとう:)