Я пишу сценарий для работы с формами. Пока у меня нет настройки базы данных, поэтому я тестирую с использованием 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');
}
Все работает отлично, все входные данные сохраняются в сеансе (который позже будет вставлен в БД), и файл действительно загружается туда, куда я хочу. Но я не могу сохранить имя файла, которое мне понадобится, чтобы восстановить его.
Заранее спасибо!
Ты толкаешь $filename
в массив $name1
, Похоже, вы используете $name1
на другой странице, так как вы отправляете эти данные в сеанс.
Проблема в том, что вы отправляете данные в сеанс, прежде чем нажать $filename
,
вспышка $name1
на сессию после нажатия $filename
в $name1
или магазин $filename
где-нибудь еще. Вы, кажется, не используете эту переменную где-либо еще.
$file = $request->file('file2')->getClientOriginalName();
Вы должны попробовать этот подход, чтобы получить имя. Запустите в аналогичной проблеме, как у вас недавно.