フォームで画像を送信できずに困っていたらHTMLの問題だった件

アバター画像 sakurai

5

こんにちは。櫻井です。
Laravelで画像をアップロードしようとしても一向に上がらなくて困っていました。
なんで上がらないのかなーと思い、Laravelで画像をアップロードする方法をあれこれ調べてみても一向に解決しませんでした。
そこで問題はLaravel以外の可能性もあると思い、HTML調べてみました。
そしてついに問題を突き止めました。

formタグにenctype属性が抜けていました。
enctype属性ってなんだ?と思い少し調べました。

enctype属性はサーバーに送信されるデータの形式(mimetype)を指定する属性です。
デフォルトだとapplication/x-www-form-urlencodedが当たっています。
enctype属性をmultipart/form-dataにすると画像などのファイルをアップロードできるようになります。
最後にもう一つあるのがtext/plainです。これはフォームのデータ形式がプレーンテキストになります。

画像を送信したいときにformにenctype属性をつけなければいけないことを知りませんでした。
今回知れて良かったです。

アバター画像

ぽちっとおうえん!

シェア

  • Facebook
  • LINE
  • X
Prettierを開発環境に組み込む WPで画像をアップロードしたときにWebpを作成する方法