2017-01-30 51 views
0

這是我的code.It每次沒有返回文件。我有一個名稱爲「file」的輸入字段與此表單一起發送。laravel 5.4圖片上傳沒有檢測到文件

請幫我診斷我的代碼,以便我可以理解爲什麼會發生這種情況。謝謝。

<div class="container"> 
<div class="row section-register"> 
    <div class="col-md-8 col-md-offset-2"> 
     <div class="panel panel-default"> 
      <div class="panel-heading">New Auction</div> 
      <div class="panel-body"> 
       <form class="form-horizontal" role="form" method="POST" action="{{ url('/addproduct') }}"> 
        {{ csrf_field() }} 
        <div class="form-group"> 
         <label for="itemname" class="col-md-2 control-label">Item name</label> 

         <div class="col-md-10"> 
          <input id="itemname" type="text" class="form-control" name="itemname" value="" required> 
         </div> 
        </div> 
        <div class="form-group"> 
         <label for="itemdesc" class="col-md-2 control-label">Decsription</label> 

         <div class="col-md-10"> 
          <textarea id="itemdesc" class="form-control" name="itemdesc" value="" required></textarea> 
         </div> 
        </div> 
        <div class="form-group"> 
         <label for="category" class="col-md-2 control-label">Category</label> 

         <div class="col-md-10"> 
          <select id="category" class="form-control" name="category" required> 
           <option value="Games">Games</option> 
           <option value="Gadgets">Gadgets</option> 
           <option value="Books">Books</option> 
          </select> 
         </div> 
        </div> 
        <div class="form-group"> 
         <label for="bid" class="col-md-2 control-label">Starting bid</label> 

         <div class="col-md-10"> 
          <input id="bid" type="number" class="form-control" name="bid" value="" required> 
         </div> 
        </div> 
        <div class="form-group"> 
         <label for="increment" class="col-md-2 control-label">Incremental value</label> 

         <div class="col-md-10"> 
          <select id="increment" class="form-control" name="increment" required> 
           <option value="10">10</option> 
           <option value="20">20</option> 
           <option value="50">50</option> 
           <option value="100">100</option> 
           <option value="200">200</option> 
           <option value="300">300</option> 
           <option value="500">500</option> 
           <option value="1000">1000</option> 
          </select> 
         </div> 
        </div> 
        <br> 
        <p class="text-center warning-img">Images uploaded to SpinkyDink are resized. For the best quality images on your auction, please use land-scape images instead of portrait images. 
        <br>(Turn your phone sideways and snap a pic)</p> 
        <br> 
        <div class="form-group"> 
         <label for="file" class="col-md-2 control-label">Main Image</label> 

         <div class="col-md-10 text-center"> 
          <input id="file" type="file" class="form-control" name="file" required> 
         </div> 
        </div> 
        <div class="form-group"> 
         <div class="col-md-10 col-md-offset-2"> 
          <input id="file2" type="file" class="form-control" name="file2"> 
         </div> 
        </div> 
        <div class="form-group"> 
         <div class="col-md-10 col-md-offset-2"> 
          <input id="file3" type="file" class="form-control" name="file3"> 
         </div> 
        </div> 
        <div class="form-group"> 
         <div class="col-md-10 col-md-offset-2"> 
          <input id="file4" type="file" class="form-control" name="file4"> 
         </div> 
        </div> 
        <div class="form-group"> 
         <div class="col-md-12 text-center"> 
          <button type="submit" class="btn btn-success"> 
           Submit Auction 
          </button> 
         </div> 
        </div> 
       </form> 
      </div> 
     </div> 
    </div> 
</div> 

途徑:

Route::post('/addproduct', '[email protected]'); 

控制器

public function addproduct(Request $request) 
{ 
    if ($request->hasFile('file')) { 
     echo "file found"; 
    }else{ 
     echo "no file"; 
    } 
} 

線路回聲 「沒有文件」 將返回每次當我打這個控制器。

回答

2

添加enctype屬性的形式:

<form class="form-horizontal" role="form" method="POST" action="{{ url('/addproduct') }}" enctype="multipart/form-data"> 

默認情況下得到的數據進行編碼,但如果你想使用的表單來上傳文件,你需要禁用的編碼,這是什麼樣的multipart/form-data的確實。