Laravel上传文件表单不起作用



我的文件上传似乎不起作用。文件[例如$file->getOriginalExtension();]的函数返回错误。

这是我的观点:

 <form class="form-horizontal" method="POST" action="/project/file_post.php" enctype="multipart/form-data">
    <---other text inputs--->
    Photo: <input type="file" name="photo"  />
    <input type="submit" class="btn btn-success btn-inline" value="SAVE ">
</form>

控制器:

//code below returns only the filename
$input = Input::all();
$file = array_get($input,'photo');
print_r($file);
//but when using this..it returns an error
$extension = $file->getClientOriginalExtension(); 

DD($input)返回:

array:8 [▼
  "_token" => "6eScEZe1SLL72JDrQjmBJllNyiHaT8hdGKKMtjsD"
  "photo" => "test_test_2016.jpg"
  "field2" => "test"
  "field3" => "test"
  "field4" => "test"
  "field5" => "test"
  "field6" => "test"
  "field7" => "test"
]

我做错什么了吗?它返回文件的文件名,但在使用函数时,它会返回各种错误(例如,调用字符串上的成员函数getClientOriginalExtension())

你能帮忙吗?谢谢

附录:

$photo = $request->file('photo');
echo $photo;

上面的代码也不起作用。没有错误。仅返回空白。

根据您的laravel版本,您需要使用输入::文件,因此在您的控制器中使用类似的东西

if (Input::hasFile('photo')) {
    $photoFile = Input::file('photo');
    $extension = $photoFile->getClientOriginalExtension(); 
}

请求$request对我有效。

if($request->hasFile('photo')) {
   $photoExt = $request->file('photo')->getClientOriginalExtension();
}

相关内容

  • 没有找到相关文章

最新更新