Laravel 4.2:文件格式无效

时间:2014-06-27 09:26:21

标签: php forms file-upload laravel laravel-4

使用Laravel 4.2从表单中获取文件时遇到问题。我的表单声明如下:

{{ Form::open(array('url' => 'app/add-file', 'files' => true)) }}

            {{ Form::file('file')}}

<button type="submit">Confirmer</button>

            {{ Form::close() }}

我现在只尝试在控制器中显示结果。但阵列是空的。

return var_dump(Input::file());

当我在chrome中分析POST请求时,我看到标题中的内容类型是

  

内容类型:应用/ X WWW的窗体-urlencoded;字符集= UTF-8

也许是问题所在,但我的表单是用enctype

声明的
  

的multipart / form-data的

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:1)

我发现了问题。我也使用jquery mobile并且存在问题。必须为表单禁用ajax,否则它不能处理文件。我做到了

{{ Form::open(array('url' => 'app/add-expense', 'files' => true, 'data-ajax' => 'false')) }}

答案 1 :(得分:0)

前几天我遇到同样的问题。我的文件上传工作正常,突然我的表单无法上传,我使用的是Laravel 4.1。。我想用composer安装一个包,它需要Laravel 4.2。所以我改变了版本以适应包。之后我的文件上传不再工作了。我更新以为laravel 4.2是问题,直到我将它上传到我的网络服务器并开始从Illuminate课程中获得特质问题。我的本地服务器运行的是PHP 5.5.11,Web服务器是5.3。

简而言之,Laravel 4.2。*工作文件为PHP 5.5。。不要快速跳转大多数托管服务器都没有在php 5.4上运行。。我降级到4.1。*。我没有改变任何东西,我的代码再次运行完美。

安装4.1版本,你会很完美。我的解决方案是将laravel 4.1安装到一个新文件夹并将所有代码移入其中。如果您使用4.2,User.php控制器具有该特征。所以你需要忘记移动User.php,4.1用户控制器是完美的。

安装laravel 4.1是另一个问题,所以我做了这个

composer create-project laravel/laravel:4.1.* project_name

它应该适合你,我想