При попытке загрузить файл в разработке на Laravel 5 я получаю stream_socket_sendto (): ошибка - PullRequest
0 голосов
/ 26 декабря 2018

Я пытаюсь загрузить файл из файла, чтобы в стране был прикреплен звуковой файл с гимном.Я использую PHP 7.2.10 с Laravel 5.7.19 .

Моя форма содержит поле с именем гимн, и форма начинается с

<form id="form-app" enctype="multipart/form-data"
      method="post"
      action="{{ route('storeCountryAnthemMPOnly',['id' => $co->id]) }}">

Маршрут в web.php:

Route::post('storeCountryAnthemMPOnly/{id}',
            'CountryController@storeCountryAnthemMPOnly')
       ->name('storeCountryAnthemMPOnly');

, и моя функция в контроллере просто:

public function storeCountryAnthemMPOnly(Request $request, $id)
{
  dd($request);
}

Когда я нажимаю кнопку отправки, я получаю:

stream_socket_sendto (): запрос на отправку или получение данных был отклонен, поскольку сокет не подключен и (при отправке на сокет дейтаграммы с использованием вызова sendto) адрес не был предоставлен.

Я не могу этого понять, и помощь очень ценится.

Ответы [ 3 ]

0 голосов
/ 01 января 2019

Вы использовали стиль Form :: model в URL своего действия.Измените свое действие в теге формы на

action="/storeCountryAnthemMPOnly/{{ $co->id }}"
0 голосов
/ 18 августа 2019

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

<input type="hidden" name="MAX_FILE_SIZE" value="10485760">

Я думаю, что Laravel вроде бы проверяет этот ввод в бэк-сцене.

0 голосов
/ 01 января 2019

Файл не может быть загружен на сервер , и это не ошибка laravel, а ваш сервер.

У меня была точно такая же проблема с той же средой.Дело в том, что файл был слишком большим, поэтому его нельзя было загрузить во временную папку.Хотя файл не был загружен на сервер, laravel все еще пытался прочитать его, поэтому вы получаете "no address was supplied".

В моем случае файл не может быть загружен из-за превышения предельных размеров, но, возможно, в вашем случае это другая причина, по которой файл не может быть загружен.

Я решил это, изменив ограничения вphp.ini

memory_limit = 32M
upload_max_filesize = 24M
post_max_size = 32M

Помимо ограничений по размеру У меня есть еще одно предложение: проверьте, есть ли у вас необходимые разрешения для папки с временными загрузками.

Вы также можете проверить журналы сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...