title: Laravel: "Impossible to create the root directory" when storing file
body: <p>I'm trying to store a file via AJAX to public folder in laravel, however when I submit the form I get the following message:</p>
  
  <p>" message: "Impossible to create the root directory \"C:\xampp\htdocs\Restaurante1\storage\app\C:/xampp/htdocs/Restaurante1/public/img\".", exception: "League\Flysystem\Exception", file: "C:\xampp\htdocs\Restaurante1\vendor\league\flysystem\src\Adapter\Local.php"</p>
  
  <p>I'm trying to store the file into the following folder inside public directory: public > img >uploads</p>
  
  <p>This is my JQuery code:</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-js lang-js prettyprint-override"><code>console.log('new slider button clicked');
   
  var formData = new FormData();
  formData.append('title', $('#sliders_title').val());
  formData.append('body', $('#sliders_body').val());
  formData.append('isVisible', $('#sliders_isVisible').is(':checked') ? 1 : 0);
  formData.append('image', $('#sliders_image').prop('files')[0]);
  
  
  $.ajax({
  
      async: true,
      url: '/sliders',
      type: 'POST',
      data: formData,
      dataType: 'JSON',
      processData: false,
      contentType: false,
          
      success: function (data) { 
          $('.form_valid_container').html('&lt;span class="form_valid_text"&gt;✓ '+ data.success +'&lt;/span&gt;');
       form.trigger("reset");
          console.log(data.success, data.errors);
      },
  
      error: function (data){
          var errors = data.responseJSON;
          console.log(errors);
   
       $.each(errors , function(){
              $('.form_error_container').html('&lt;span class="form_error_text"&gt;✘ '+ errors.message +'&lt;/span&gt;')
          }); 
      }
  });</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>My controller method:</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-js lang-js prettyprint-override"><code>public function store(StoreSlider $request)
  {
      $uploadFile = $request-&gt;file('image');
  
      //generate random filename and append original extension (eg: asddasada.jpg, asddasada.png)
      $filename = str_random(6).'.'.$uploadFile-&gt;extension();
  
      // storing path (Change it to your desired path in public folder)
      $path = 'img/uploads/';
  
      // Move file to public filder
      $uploadFile-&gt;storeAs(public_path($path), $filename);
   
      $slider = new Slider();
      $slider-&gt;title = $request-&gt;title;
      $slider-&gt;body = $request-&gt;body;
      $slider-&gt;image = $path.'/'.$filename; // So that you can access image by url($slider-&gt;image);
      $slider-&gt;isVisible = $request-&gt;isVisible;
      $slider-&gt;save();
   
      return response()-&gt;json([
   
          'success' =&gt; 'Diapositiva guardada correctamente',
    'slider' =&gt; $slider,
      ]);
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>EDIT: This is my config/filesystems </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-js lang-js prettyprint-override"><code>&lt;?php
  
  return [
  
      /*
      |--------------------------------------------------------------------------
      | Default Filesystem Disk
      |--------------------------------------------------------------------------
      |
      | Here you may specify the default filesystem disk that should be used
      | by the framework. The "local" disk, as well as a variety of cloud
      | based disks are available to your application. Just store away!
      |
      */
  
      'default' =&gt; env('FILESYSTEM_DRIVER', 'local'),
  
      /*
      |--------------------------------------------------------------------------
      | Default Cloud Filesystem Disk
      |--------------------------------------------------------------------------
      |
      | Many applications store files both locally and in the cloud. For this
      | reason, you may specify a default "cloud" driver here. This driver
      | will be bound as the Cloud disk implementation in the container.
      |
      */
  
      'cloud' =&gt; env('FILESYSTEM_CLOUD', 's3'),
  
      /*
      |--------------------------------------------------------------------------
      | Filesystem Disks
      |--------------------------------------------------------------------------
      |
      | Here you may configure as many filesystem "disks" as you wish, and you
      | may even configure multiple disks of the same driver. Defaults have
      | been setup for each driver as an example of the required options.
      |
      | Supported Drivers: "local", "ftp", "sftp", "s3", "rackspace"
      |
      */
  
      'disks' =&gt; [
  
          'local' =&gt; [
              'driver' =&gt; 'local',
              'root' =&gt; storage_path('app'),
          ],
  
          'public' =&gt; [
              'driver' =&gt; 'local',
              'root' =&gt; storage_path('app/public'),
              'url' =&gt; env('APP_URL').'/storage',
              'visibility' =&gt; 'public',
          ],
  
          's3' =&gt; [
              'driver' =&gt; 's3',
              'key' =&gt; env('AWS_ACCESS_KEY_ID'),
              'secret' =&gt; env('AWS_SECRET_ACCESS_KEY'),
              'region' =&gt; env('AWS_DEFAULT_REGION'),
              'bucket' =&gt; env('AWS_BUCKET'),
              'url' =&gt; env('AWS_URL'),
          ],
  
      ],
  
  ];</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;</code></pre>
  </div>
  </div>
  </p>