在重定向上附加文件到表单

时间:2014-10-28 23:35:38

标签: php file redirect laravel

我提供了一个文件预览选项,用户在其中附加文件,然后单击预览。 其中上传文件,并输出PHPExcel预览。

在该页面中,我想要包含一个表示继续的按钮。 然后,将继续进行实际上载和数据库行创建。

但是,一旦我重定向到预览页面,我就不知道如何将此文件附加到我的隐藏表单以重新提交。

我可以附加所有旧的输入值....就像这样...... 但是如何附加文件??? (使用laravel中的刀片进行模板化)

/* These work and are correct*/
<input type="text" id="xlsColumnOrder" name="xlsColumnOrder" value="{{$input['xlsColumnOrder']}}"/>
<input type="text" name="researcher" value="{{$input['researcher']}}" />    
<input type="text" name="leadcity" value="{{$input['leadcity']}}" />
<input size="16" id="survey_date" name="survey_date" type="text" value="{{$input['survey_date']}}"  /> 
/* This doesnt attach anything to the file input
/*  Need to attach the previously uploaded file here for resubmission */                                 
<input class="file" id="csvfile" name="csvfile" type="file" value="{{$file['csvfile']['tmp_name']}}" />

1 个答案:

答案 0 :(得分:1)

您无法自动重新发送用户文件,因此我会这样做:

  • 当用户发送表单时,如果提供了任何文件,则将文件保存在某个目录中(将其视为临时文件)并将文件名/名称保存到会话并显示用户文件预览
  • 当他点击“继续”时 - 您可以随意使用其他数据(例如将其保存到数据库或显示为隐藏在另一个表单中)并且您仍然在会话中上传文件名,因此如果您需要,您甚至可以再次显示文件预览
  • 如果要最终保存所有用户数据,请将用户文件/文件移动到最终目录(并可能重命名)并使用文件名保存所有数据(可能在数据库中)。

作为补充,您应该有某种cron从您的临时目录中删除数据,例如超过3小时创建