Ответ 1
Нашел ответ - похоже, была проблема с моими заголовками в Postman. У меня было приложение Accept application/json и Content-Type/json. Как только я удалил Content-Type, все исправлено. Благодарю!
Я пытаюсь загрузить фотографию из моего приложения Laravel 5, которое будет храниться в AWS. Я использую клиента Postman REST для тестирования. Когда я загружаю фотографию, запрос возвращает пустой массив. Кто-нибудь знает, почему это может быть? Здесь код для моего контроллера аватара:
class AvatarController extends Controller
{
public function __construct(AWS $aws)
{
$this->aws = $aws;
}
/**
* Store a new avatar for a user.
* POST northstar.com/users/{id}/avatar
*/
public function store(User $user, Request $request)
{
dd($request->all());
// dd($request->file('photo'));
$file = $request->file('photo');
// $file = Request::file('photo');
// $file = Input::file('photo');
$v = Validator::make(
$request->all(),
['photo' => 'required|image|mimes:jpeg,jpg|max:8000']
);
if($v->fails())
return Response::json(['error' => $v->errors()]);
$filename = $this->aws->storeImage('avatars', $file);
// Save filename to User model
$user->avatar = $filename;
$user->save();
// Respond to user with success
return response()->json('Photo uploaded!', 200);
}
}
Нашел ответ - похоже, была проблема с моими заголовками в Postman. У меня было приложение Accept application/json и Content-Type/json. Как только я удалил Content-Type, все исправлено. Благодарю!
Немного опоздал на вечеринку, но мог бы быть полезен для других: моя проблема заключалась в том, что значением заголовка Content-Type
было application/json
а фактической полезной нагрузкой были данные формы. Изменение заголовка на application/x-www-form-urlencoded
проблему.
попробуйте использовать
dd($request->all());
Попробуйте dd ($ request), dd ($ _ REQUEST), dd ($ request- > files).
Вы можете проверить, что JSON действителен
$data = $request->all();
if(empty($data)) {
$data = json_decode($request->getContent());
$data = json_decode($data);
if(is_null($data)) {
return response()->json("Not valid json", 400);
}
}
Должен использоваться:
Request::all();
В соответствии с документами: http://laravel.com/docs/5.0/requests