Тестирование загрузки S3 с помощью Laravel Medialibrary «В текущем запросе нет файла в ключе с именем»Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Тестирование загрузки S3 с помощью Laravel Medialibrary «В текущем запросе нет файла в ключе с именем»

Сообщение Anonymous »

Я пишу функциональный тест для простой загрузки фотографий на S3 с помощью Laravel Medialibrary.

Это тест:

Код: Выделить всё

/** @test */
public function a_user_can_upload_a_photo()
{
$this->withoutExceptionHandling();

Storage::fake('s3');

$user = factory(User::class)->create();

$this->signIn($user);

$this->post( route('users.update.photo', [
$user,
'photo' => UploadedFile::fake()->image('photo.jpeg', 500, 500)->size(1000),
]));

$this->assertEquals(1, Media::all()->count());

Storage::disk('s3')->assertExists('photo.jpeg');
}
и это соответствующая часть метода контроллера, обрабатывающего загрузку:

Код: Выделить всё

public function uploadPhoto(User $user, Request $request)
{

// ...

try {
$user->addMediaFromRequest('photo')
->preservingOriginal()
->toMediaCollection('user-photo');

} catch (\Exception $e) {
dd($e);
Log::debug('User photo upload: ' . $e);

}

return redirect(route('users.edit.profile', $user));
}
Ошибка, обнаруженная с помощью dd($e):

Текущий в ключе запроса нет файла с именем photo

На самом деле я могу проверить, что сообщение об ошибке верно, поставив его прямо перед попытки-улов:

Код: Выделить всё

dd($request->has('photo'));
=== правда

но

Код: Выделить всё

dd($request->hasFile('photo'));
=== false

Поэтому я, очевидно, не прикрепляю свой макетный файл должным образом как файл к запросу, но я могу Я не понимаю, как это сделать, и каждый пример моего поиска в Интернете предлагает провести тест так, как я уже это делаю.

Любая помощь очень ценится.

Подробнее здесь: https://stackoverflow.com/questions/615 ... not-have-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Загрузка медиа-библиотеки Spatie ВСЕГДА приводит к выводу «в запросе нет файла в ключе с именем [...]»
    Anonymous » » в форуме Php
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Добавить медиафайлы с помощью Spatie/laravel-medialibrary без привязки к модели (Laravel)
    Anonymous » » в форуме Php
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Space/laravel-medialibrary изменить первичный ключ
    Anonymous » » в форуме Php
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Ошибка при установке библиотеки laravel medialibrary 8.1
    Anonymous » » в форуме Php
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Сайт Laravel Medialibrary аварийно завершает работу с сообщением «Этот сайт недоступен»
    Anonymous » » в форуме Php
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»