title: Laravel $request->all() is empty using multipart/form-data
body: <p>I'm sending request includes form data object with some data from angular 4 to laravel api ... sometimes request data is received correctly, other times request is null 'empty request'</p>
  
  <p>and here is my request details</p>
  
  <pre><code>Accept:application/json
  Accept-Encoding:gzip, deflate, br
  Accept-Language:en-US,en;q=0.9
  Authorization:Bearer ---------
  Connection:keep-alive
  Content-Length:973
  Content-Type:multipart/form-data; boundary=----WebKitFormBoundarydEkuATdI8JBFdnBM
  Host:127.0.0.1:8000
  Origin:http://localhost:4200
  Referer:http://localhost:4200/shop_admin
  User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36
  </code></pre>
  
  <h2>Request Payload</h2>
  
  <pre><code>------WebKitFormBoundarydEkuATdI8JBFdnBM
  Content-Disposition: form-data; name="business_id"
  
  249
  ------WebKitFormBoundarydEkuATdI8JBFdnBM
  Content-Disposition: form-data; name="maintenance_flag"
  
  0
  ------WebKitFormBoundarydEkuATdI8JBFdnBM
  Content-Disposition: form-data; name="type"
  
  shop
  ------WebKitFormBoundarydEkuATdI8JBFdnBM
  Content-Disposition: form-data; name="name"
  
  qewqweqweqwe
  ------WebKitFormBoundarydEkuATdI8JBFdnBM
  Content-Disposition: form-data; name="website_uri"
  
  
  ------WebKitFormBoundarydEkuATdI8JBFdnBM
  Content-Disposition: form-data; name="phone_number"
  
  
  ------WebKitFormBoundarydEkuATdI8JBFdnBM
  Content-Disposition: form-data; name="facebook_link"
  
  
  ------WebKitFormBoundarydEkuATdI8JBFdnBM
  Content-Disposition: form-data; name="logo_uri"
  
  uploads/businesses/249/249_1.jpg
  ------WebKitFormBoundarydEkuATdI8JBFdnBM
  Content-Disposition: form-data; name="brands"
  
  undefined
  ------WebKitFormBoundarydEkuATdI8JBFdnBM--
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/WviPq.png" rel="noreferrer">here is a screenshot for request back from laravel into console</a></p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>here is my code</p>
  
  <h2>angular side:</h2>
  
  <p>form data object 
  here is angular form data object </p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>let formData: FormData = new FormData();
  formData.append( 'business_id', that.businessId );
  formData.append( 'maintenance_flag', that.maintenance_flag );
  formData.append( 'type', edit_type );
  formData.append( 'name', name );
  formData.append( 'website_uri', website );
  formData.append( 'phone_number', phone );
  formData.append( 'facebook_link', face );
  formData.append( 'logo_uri', that.basicData.logo_uri );
  formData.append( 'brands', that.selectedBrands );
  if ( pic.files.length &gt; 0 )
    formData.append( 'logo_uri', pic.files[ 0 ] );</code></pre>
  </div>
  </div>
  </p>
  
  <h2>api:</h2>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>that.apiService.changeBusiness( formData ).subscribe( ( res ) =&gt; 
  {
      console.log( res );
  }
  
  shopUpdate ( shop_basic_info ){
  
      return this.http.post( environment.api_base_url + 'api/shop_update', shop_basic_info ).map( res =&gt; res.json() );
  
  }</code></pre>
  </div>
  </div>
  </p>
  
  <h2>laravel side</h2>
  
  <h2>Route</h2>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>Route::post('/shop_update', 'ShopController@handleUpdate');</code></pre>
  </div>
  </div>
  </p>
  
  <h2>controller file</h2>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>public function handleUpdate(Request $request)
  {
      return $request-&gt;all();
  }</code></pre>
  </div>
  </div>
  </p>