LoginSignup
0
1

More than 1 year has passed since last update.

ドラッグ&ドロップされた画像や音声ファイルをインラインimgやaudioタグに変換するツールをつくってみた

Last updated at Posted at 2021-01-16

HTMLに画像を埋め込みたい場合に、下記のように、URLではなく直接データをBase64エンコードして埋め込むことができます。
<img src="data:image/png;base64,iVBORw0KGgoAAAAN...">

今回は、このタグを簡単に作成できるツールを作ってみました。

インラインimgタグ生成ツール

MIME type image/pngimage/jpeg 1 だけ受け付けるようにしてます。あと、とりあえず8MB以下の制限をつけてます。
【追記】音声ファイル(audio/wavとmp3ファイル(audio/mpeg)のみ)も対応してみました。
【追記】String.fromCharCode(...バッファ変数) の スプレッド構文(...)で stack over flow が起こるようなので対策してみました。ただし、textareaのサイズ上限は不明・・。

See the Pen ImageAndAudioFileBase64Encoder(Under Construction) by kob58im (@kob58im) on CodePen.

注意事項

  • 画像や音声の著作権はもちろんのこと、個人情報が含まれていないかにも注意を!
    (ヘッダー情報とかが埋まっていたりするので、意図せず情報流出させてしまう恐れがあります。)

  • CodePenとかに埋め込めますが、あまり巨大なデータを埋め込むと利用規約とかに違反するかもしれません。(ちゃんと読んでないので何ともいえないけど、、)2

参考サイト

参考サイト(画像関連)

参考サイト(Audio関連)


  1. 一度描画してから再エンコーディングする処理となっているので、画質が劣化する可能性があります。音声ファイルの処理のほうを真似れば改善できそうですが、今のところ対応予定はありません。(単純に面倒くさい・・・) 

  2. CodePenに関してはわりと寛容っぽい?Pen Limitations - CodePen BlogTerms of Service - CodePen Blog 

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1