HttpClientでのファイルアップロード
Commons HttpClientを使ってのmultipart/form-dataでのファイルアップロードする処理をしたときのメモです。
メモ
上記の参考にしたサイトのサンプルソースです。
PostMethod post = new PostMethod ("http://localhost/DummyProject/"); File file = new File("c:\\test.csv"); Part[] parts = {new FilePart(file.getName(), file)}; post.setRequestEntity(new MultipartRequestEntity(parts, post.getParams()));
- FilePartのコンストラクタの第一引数がパラメータ名(HTMLのname="hoge"相当)になってます。
- 複数のファイルを追加する場合には、FilePartを増やします。
- ファイル以外のパラメータは、StringPartを使います。
課題
ファイル名が日本語の場合、サーバ側で文字化けしてしまっています。どこでcharsetを指定すれば有効になるのかは調査中です。。
- FilePartのコンストラクタでcharsetを指定?
- post.getParams().setContentCharset("〜")で指定?
- post.setRequestHeader("〜")で指定?