SDKフォーラムですが、kintone Java Clientの質問になります。ご容赦ください。
kintone Java Client を使用してふぁいるのアップロード処理を作成中ですが、
漢字のファイル名の場合にファイル名が文字化けしてしまいます。
処理の流れは、
1.uploadFile でファイルをアップロード
2.uploadFile の戻り値のfileKey でレコードを更新
となっています。
uploadFIleへの引数のファイル名の設定は、
「UTF8でエンコーディングしてください」となっていたため、
UploadFileRequest req = new UploadFileRequest();
req.setFilename(URLEncoder.encode(fileName, “UTF-8”));
とURLエンコーディングしましたが、レコード更新後に
kintone の一覧画面で表示されるファイル名が化けた状態で
表示されてしまいます。
エンコードの方法や、処理方法に誤りがありますでしょうか?
お判りになられる方がいらっしゃいましたらご教授頂けると幸いです。
m.oda 様
お世話になっております。
cybozu developer network 運営局です。
記載していただいた現象について調査したところ、日本語ファイル名に対応しておりませんでした。
この件に関して、ファイル名がマルチバイト文字でも利用できるよう、kintone Java Client を改修する予定です。
ご不便をおかけして申し訳ございませんが、改修されるまでは、ファイル名を英数字にしてご利用していただきたく、よろしくお願いいたします。
今後とも、どうぞよろしくお願いいたします。
cybozu developer network 運営局様
いつもお世話になっております。
kintone java client のソースを見たのですが、
InternalClientImpl.java の upload で builder の設定に
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
を追加し、引数の filename にはURLエンコードしない漢字のファイル名を
渡したところ、漢字名のファイルも正常に登録できているように
見えました。
この対応方法に問題はありますでしょうか?
当方側で漢字名のファイルを使用することが回避できないため、
この修正が妥当であれば暫定使用も考えております。
お忙しい所申し訳ございませんが、宜しくお願い致します。
m.oda 様
お世話になっております。
cybozu developer network 運営局です。
日本語ファイル名のファイルをアップロードすると文字化けする件について、v1.0.2 として修正版をリリースいたしました。
お手数おかけいたしますが、本ライブラリのバージョンを v1.0.2 に修正して、ご利用いただけないでしょうか。
https://search.maven.org/artifact/com.kintone/kintone-java-client/1.0.2/jar
よろしくお願いいたします。
cybozu developer network 運営局様
いつもお世話になっております。
修正版の1.0.2を使用し、動作させた所、問題が解決されていることを確認しました。
迅速な対応を頂きありがとうございました。
今後ともよろしくお願い致します。