我是Laravel的新手,
如果laravel对输入文本进行验证
<input type="text name="title" />
然后当验证失败时,它将返回输入文本值
return Redirect::back()->withInput()
laravel对文件有这个功能吗?
<input type="file" name="testfile" />
return Redirect::back()->withFile()
以便在验证失败时将临时文件存储在input type="file"
中。
答案 0 :(得分:6)
不,它没有,也没有。
触发Redirect::back()
时,会向服务器发送新的HTTP请求。由于HTTP是无状态的,Laravel会将旧输入闪烁到会话处理程序,并通过Input::old()
函数使其可用。然后,Laravel使用此信息预先填充表单和文本字段。
出于安全原因,您无法预先填充文件字段,否则服务器可以设置它想要尝试的任何值,并强制您从计算机上传任何文件!
根据您的需要,您可以自己存储文件,并使用Redirect::back()->with('file_location', '...')
发回文件的位置。您无法在物理上预填充文件输入,但是当用户重定向回来让他们知道他们不需要重新上传时,您可以向用户展示一些内容。文件,除非他们想要。