Я делаю сценарий командной строки, который вызывает маршрут в моем проекте, чтобы выполнить некоторые задачи администратора.Он отлично работает с текстовыми параметрами:
$request = Request::create('/api/v1/boards', 'POST',
['board_title' => 'asdfasdf' . md5(rand(1,9999999)),
'board_description' => 'asldfjaklsdfj']);
$response = app()->handle($request);
$responseBody = $response->getContent();
$responseData = json_decode($response->getContent());
$board_id = $responseData->board_id;
Я хочу отправить загрузку файла, но у меня ничего не получилось.Пока это мой код:
$image_filename = './scrapes/image_700x1000.jpg';
$file = new UploadedFile($image_filename, 'imgUpload', filesize($image_filename), 'image/jpeg', null, false);
$request = Request::create('/api/v1/boards/' . $board_id, 'PUT',
[ $file]);
$response = app()->handle($request);
$responseBody = $response->getContent();
var_dump($responseBody);
Результат не найден ответом контроллера.Он отлично работает, когда изображение отправляется на него через JQuery.Это частичный код для контроллера:
public function update(Request $request, Board $board)
{
//Check for valid user
if (!$request->user())
{
return response()->json(['message' => 'Not authorized'], 401);
}
//Check if user is permitted to update board
//Could use Gates as alternative
if (!$request->user()->is_admin && $request->user()->id !== $board->board_owner_id)
{
return response()->json(['message' => 'Not authorized'], 403);
}
Буду признателен за любую помощь в выяснении, как отправить изображение.Я понимаю, что это необычно, но это может быть природа сценариев администратора.