Загрузка файла laravel выдает ошибку «файл не существует или не читается». - PullRequest
1 голос
/ 24 октября 2019

Я пытаюсь загрузить изображение в папку images.

if ($request->hasFile('pic')) {
            $file = $request->file('pic');
            $file_name = time() . '.' . $file->getClientOriginalExtension();
            $destinationPath = public_path('/images/');
            $file->move($destinationPath, $file_name);
            $model->pic= $file_name;
        }

Но я получаю эту ошибку:

"./././php4E16.tmp "файл не существует или недоступен для чтения.

Я загружаю фотографию для сообщения в другом контроллере с тем же кодом и работает нормально.

Я могу 'не могу понять, в чем дело.

Я не пытаюсь загружать изображения большого размера или что-то в этом роде.

, хотя php.ini отредактирован для приема больших файлов.

чтоЯ попытался:

  1. очистить cache.
  2. очистить config cache.
  3. обновленную версию Laravel с 6.3 до 6.4.
  4. добавил enctype="multipart/form-data" в форму.

ничего не работает: \

Я не уверен, что здесь происходит, но в первый раз, когда я попытался загрузить его, это сработало, нотеперь не работает!

Есть идеи, что здесь не так?

Ответы [ 2 ]

0 голосов
/ 24 октября 2019

проблема была в запросе вставки ..

столбцу не было дано значение.

Мне удалось увидеть ошибку, установив пакет laravel laravel-debugar

0 голосов
/ 24 октября 2019

Предполагая, что вы хотите, чтобы эти файлы находились в общей папке (то есть были доступны всем), сначала выполните

php artisan storage:link

Затем попробуйте что-то вроде этого:

if ($filesFromRequest = $request->file('files')) {
      foreach ($files as $file) {
            $storedFilePath = $file->store('public/some_files');
            // Your Model Logic Here
        }         
}

Если вынужна полная ссылка на файл для внешнего интерфейса, сделайте:

echo asset('storage/some_files/file.txt');
...