2017-08-24 20 views
0

私はLaravel 5.4を使用しており、画像をアップロードしたいと考えています。 しかしcontrollt $ request-> hasFile( 'pic')はfalseを返します。 これは私のblade.phpです:Laravel 5.4 file upload

. 
. 
. 
<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 
     } 
    } 
} 

iは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