前提
- Vue.js / Nuxt.js でWebアプリを開発しています
- 現在、axiosを利用して画像アップロード機能の開発をしている際にエラーに出くわしました
- 1時間ほど調べて色々試しましたが上手くいかなかったのでご意見をお聞かせください
- 私のスキル程度は本業ではなく趣味でプログラミングに関わるようになって半年ほどの者です
- axiosに慣れていません
実現したいこと
サーバーURLにPOSTリクエストをおこない、画像ファイルをアップロードしたい
発生している問題・エラーメッセージ
以下のエラーメッセージが表示され、サーバー側にファイルをアップロードできない
Error: Request failed with status code 400
該当のソースコード
JavaScript
1 const formData = new FormData(); 2 formData.append("image", this.inputImage); 3 const config = { 4 method: "post", 5 url: this.uploadURL, 6 headers: { 7 "Content-Type": "multipart/form-data", 8 }, 9 }; 10 11 this.$axios(config) 12 .then(function (res) { 13 console.log(res); 14 response.json(res.data); 15 }) 16 .catch(function (err) { 17 console.log(err); //このエラーが出ます 18 }); 19 20// this.inputImageの内容はblobになっていて、 21// "http://localhost/hogehoge"のような文字列です。
試したこと
試したこと1. formData周り
上記コードのformDataの "image"を"file"に変えてみたが、効果なし
試したこと2. HTMLフォームでの検証
以下のような単純なHTMLフォーム形式では正常にアップロードが完了できました。
html
1<form 2 action="URL_FOR_UPLOAD" 3 method="post" 4 enctype="multipart/form-data" 5> 6 <input type="file" name="file" /> 7 <input type="submit" /> 8</form>
補足情報(FW/ツールのバージョンなど)
- アップロード先のURLはCloudflare ImagesのワンタイムURLというもの(ドキュメントはこちら)
- 各種バージョン(Vue2.7.10, Nuxt2.15.8)
以上です。
その他不十分な点などありましたらご質問いただけると助かります。
追記
errorをerror.responseとすることで詳細のエラー内容がわかりました。以下の通りですが、私ではこれでもどうしたらよいか全くわかりません。
code: "101" message: "content-type is not supported"

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/09 01:21