我正在编写一个脚本来处理表格。目前,我没有数据库设置,因此我正在使用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');
}
一切正常,所有输入都保存在Session上(以后将插入到DB中),并且文件确实上传到我想要的位置。但是我无法保存文件名,我将需要检索它。
谢谢!
答案 0 :(得分:1)
您正在将$filename
推入数组$name1
。您似乎正在另一页上使用$name1
,因为您正在将该数据刷新到会话中。
问题是您在按$filename
之前将数据刷新到会话中。
将$name1
推入$filename
或将$name1
存储在其他位置后,将$filename
刷新到会话。您似乎在其他任何地方都没有使用该变量。
答案 1 :(得分:1)
$file = $request->file('file2')->getClientOriginalName();
您应该尝试使用这种方法来获取名称。最近遇到类似的问题。