2017-08-24 116 views
0

我使用Laravel 5.4并想上传图片。 但在controllrt $ request-> hasFile('pic')返回false。 这是我blade.php:Laravel 5.4文件上传

. 
. 
. 
<form action="{{ route('my-url') }}" method="post"> 
    <input type="file" name="pic"> 
</form> 
. 
. 
. 

这是我的控制器:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

class myclass extends Controller { 

    public function myfunc(Request $request) { 
     if($request->hasFile('pic')){ 
      // never get this 
     } 
    } 
} 

我应该加入blade.php或控制器中的另一个领域,形成或输入?

+2

在使用文件时,您需要包含加密类型,将其添加到您的表单中:'enctype =“multipart/form-data”' – sourRaspberri

回答

2

你应该试试这个:

表单数据被编码为“multipart/form-data”,当文件将作为表单数据这是必需的。

<form action="{{ route('my-url') }}" method="post" enctype="multipart/form-data"> 
    <input type="file" name="pic"> 
</form> 

希望为你工作!!!

+0

@photon我的答案适合您? –

+0

@ photon很高兴帮助! –

2
just addd in your form 
<form action="{{ route('my-url') }}" method="post" enctype="multipart/form-data"> 
<input type="file" name="pic"> 
</form> 
//enctype="multipart/form-data" add this, this will your