2017-08-24 118 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