前提
fetchAPIで送信した画像ファイルをコントローラーのアクションで処理したいのですが、$request->file()で取得できません。
非同期でjsから送信されてきた画像ファイルを取得したいです。
該当のソースコード
javascript
$('#profileModal .save').click(() => { let fd = new FormData(); fd.append('icon', $('#profileModal #icon').prop('files')[0]); fetch('/users/update', { method: 'PATCH', body: new URLSearchParams({ icon: fd, }), headers: { 'X-CSRF-TOKEN': '{{ csrf_token() }}' }, }).then(res => { return res.json(); }).then(data => { console.log(data); }).catch(err => { }); });
php
public function update(Request $request) { ここで取得したいができない return response()->json(['icon' => $request->file('icon')]); }
web.php
Route::patch('/users/update', [UserController::class, 'update']);
試したこと
下記の記事を参考にfetchAPI処理を記述したが、うまく取得できず
Laravelのファイルアップロード処理をFetchAPIで書き直した
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
PHP 8.1.1
Laravel 8.79.0
まだ回答がついていません
会員登録して回答してみよう