tags | title |
---|---|
base64 form |
formから長い文字列を送信するときに気をつけること |
form
から画像をBase64に変換した文字列を送信する必要があって、input
タグにその文字列を入れて送信していたのだけど、たまに失敗することがあった。
<form action="/path/to/api" method="POST">
<input type="hidden" name="base64" value="Base64">
</form>
調べてみると長い文字列はinput
でなくtextarea
に入れた方が安定して送信できるようだ。
<form action="/path/to/api" method="POST">
<textarea name="base64">Base64</textarea>
</form>
form
は見せる必要がなかったのでvisibility: hidden
にしていたのだけど、これをdisplay: none
にしたら動作が速くなった。どのブラウザでも送信してからのページのレスポンスが明らかに速くなったと体感できるほどに。
form
の仕様上、disabled
属性を付加しないと送信されない以外は、非表示になっていても送信される。なので特に表示する必要のないform
ならdisplay: none
をつけておいた方が良いみたいだ。