🤳

LINE Massaging APIで取得した画像のバイナリデータをデータURL(Base64)に変換する

2023/01/01に公開

送られてきた画像に対し、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