Windows 10のCURLを用いて、Slack APIの files.upload にファイルをアップロードする必要があり、文字化けのせいでドン詰まりした。
検索に検索を重ねたが、参考にはなれど直接の回答にはなってなかったので、備忘録を兼ねてポスト。
curl.exe
-F “file=@C:\Temp\TEST.test”
-F “initial_comment=<C:\Temp\initial_comment.txt”
-F “channels=XXXXXXXXXXX”
-H “Authorization: Bearer xoxb-XXXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXXXXXXXXXXXX”
https://slack.com/api/files.upload
パスの前に<をつけると、ファイルの中身だけ取り出して渡すことができる。
上のコマンドが入ったBatファイルをUTF8 BOM無しで作成して、
initial_comment.txt も同様にUTF8 BOM無しで作成する。
当然だが、initial_comment.txt の中身は投稿したい文章本文。改行もちゃんとSlack上に反映される。
追記
今更だけど、cmdでなくPowershellで作ったらテキストBOM有りUTF8で行けんじゃないかと思いだした。試してないけど