私はをAndroidアプリのバックエンドに使用しています。Laravel
私はユーザーXのアバターを更新しようとしています(ユーザーの作成時にdefault.jpgに設定されています)。しかし$request->File('avatar')
はヌルです($request->hasFile('avatar')
はfalse
です)。マルチパート/フォームデータリクエスト - Laravel/PHP
これは私がポストマン(私はパスポートを使用している方法で)で送信されたものです:
:これは私の更新方法、ファイルを管理する部分の一部である// Headers
Accept: application/json
Authorization: Bearer {{token}}
Content-Type: multipart/form-data
// Body of the request
'avatar' -> the image (in postman)
public function update(Request $request)
{
// some code
if($request->hasFile('avatar')) {
$avatar = $request->file('avatar');
$filename = time() . '.' . $avatar->getClientOriginalExtension();
Image::make($avatar)->resize(300,300)->save(public_path('/uploads/avatars/' . $filename));
$user->avatar = $filename;
}
// code
$user->save();
return something;
私は何が間違っているのか分かりません。前もって感謝します。
'$ request-> all()'で 'var_dump'を試すことができますか?ファイルが正しく送信されなかったのでしょうか? – shalvah
@shalvahそれは空に戻ります。今、私はPOSTリクエストでこれをやろうとしていて、うまくいきます。 PUTメソッドが問題のようです。 – HCK
ああ。あなたはそれがPUTであるとは言いませんでした。私は、ファイルがPUTでアップロードされることを意図しているとは確信していません。たとえそうであっても、Laravelによって自動的にリクエストボディに解析されることはありません。 – shalvah