Получение имени загруженного файла - PullRequest
0 голосов
/ 08 ноября 2018

Я пишу скрипт для работы с формами. Пока у меня нет настройки базы данных, поэтому я тестирую с использованием Session :: flash.

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

Я пробовал несколько способов и не могу заставить его работать.

public function AltComiss(Request $request)
    {

        $name1 = array( ($request->input('test')),
                        ($request->input('test1')), 
                        ($request->input('test2')), 
                        ($request->input('test3')), 
                        ($request->input('test4')) ); 

        for ($i=0; $i <= 10; $i++) { 

            if (($request->input('comiss'.$i)) !== null) {
            array_push($name1, ($request->input('comiss'.$i)));
            array_push($name1, ($request->input('desconto'.$i)));
        }

        }

        array_push($name1, ($request->input('test7')));

        Session::flash('allInput',$name1);

        if ($request->hasFile('file2')) {
            $file = $request->file('file2');
            $destinationPath = 'altComiss';

            $filename = 'AlteraComissao-' . time() . '.' . $file->getClientOriginalExtension();

            $file->storeAs($destinationPath, $filename);


            array_push($name1, $filename);

        }


        return redirect('alteracaocomissao');

    }

Все работает отлично, все входы сохраняются в сеансе (который позже будет вставлен в БД), и файл действительно загружается туда, куда я хочу. Но я не могу сохранить имя файла, которое мне понадобится, чтобы восстановить его.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018
   $file = $request->file('file2')->getClientOriginalName();

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

0 голосов
/ 08 ноября 2018

Вы помещаете $filename в массив $name1. Похоже, вы используете $name1 на другой странице, поскольку вы отправляете эти данные в сеанс.

Проблема в том, что вы отправляете данные в сеанс, прежде чем нажать $filename.

Flash $name1 в сеансе после нажатия $filename на $name1 или сохранения $filename в другом месте. Похоже, вы не используете эту переменную где-либо еще.

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