🤳
LINE Massaging APIで取得した画像のバイナリデータをデータURL(Base64)に変換する
送られてきた画像に対し、SUZURI APIを介して、Tシャツ画像の合成を行うLINEのBotを作る時に
- LINE の Messaging APIではバイナリデータの画像が返ってくる
- 画像合成を行うSUZURI APIにはデータURLか、画像ファイルURLを送らないといけない
という二つの問題がありました。
そこで、画像ファイルのバイナリデータをデータURL(Base64)に変換することにしました。
結論
binary_image = 画像ファイルのバイナリデータ
base64_image = "data:image/jpeg;base64,#{Base64.strict_encode64(binary_image)}"
解説
strict_encode64
でバイナリデータをBase64へエンコードします。
data:image/jpeg;base64,<base64へ変換したデータ>
としてデータURLの形式にします。
このデータURLをSUZURI APIでPOSTすると、Tシャツ画像の入手できるようになりました。
Discussion