2017-03-25 1 views
0

Ich erhalte keine Anfrage an Controller uploadGallery-Methode. Die Postanforderung wird jedoch korrekt empfangen.Dropzone.js Post-Anfrage in Laravel 5.4

gallery.blade.php

<div class="row"> 
    <form action="{{ url('file-upload') }}" method="post" class="dropzone" id="my-awesome-dropzone"> 
          {{ csrf_field() }} 
          <div class="dz-message"> 
           <h3>Drop images here or click to upload.</h3> 
          </div> 
         </form> 
        </div> 
    <script type="text/javascript"> 

     $(function(){ 

      Dropzone.options.myAwesomeDropzone = { 
       paramName: "files", 
       uploadMultiple:true, 
       maxFilesize:6, 
       autoProcessQueue: true, 
       uploadMultiple: true, 
       addRemoveLinks: true, 
       acceptedFiles: ".png, .jpg, .jpeg", 
       dictFallbackMessage:"Your browser does not support drag'n'drop file uploads.", 
       dictRemoveFile: "Remove", 
       dictFileTooBig:"Image is bigger than 6MB", 

       accept: function(file, done) { 
        console.log("Uploaded"); 
        done(); 
       }, 

       init:function() { 
       /* var submitButton = document.querySelector('#submit-all') 
         myAwesomeDropzone = this; 

        submitButton.addEventListener("click", function(
         myAwesomeDropzone.processQueue(); 
        )); 

        this.on("addedfile", function(){ 
         $('#submit-all').show(); 
        });*/ 

       }, 
       success: function(file,done){ 
        console.log("All files done!"); 
       } 
     } 
     }); 
    </script> 

web.php

Route::get('/gallery', '[email protected]'); 
Route::post('/file-upload', '[email protected]'); 

ImagesController.php

<?php 

namespace App\Http\Controllers; 

use App\User; 
use App\Image; 
use Illuminate\Http\Request; 
use Illuminate\Support\Facades\Auth; 

class ImagesController extends Controller 
{ 
    public function __construct() { 
     $this->middleware('auth'); 
    } 

    public function uploadImages(Image $request) { 
     $images = request()->file('files'); 
     dd($images); 
     return view('Gallery'); 
    } 
} 

Alles innerhalb der uploadImages Funktion wird nicht ausgeführt. Warum?

Antwort

1

Sie haben falsche Typhinweis in Ihrer uploadImages() Funktion.

ändern uploadImages() von

public function uploadImages(Image $request) 

zu

public function uploadImages(Request $request) 

Jetzt sollten Sie in der Lage sein request() zu verwenden, um Dateien zu greifen.

0

Ändern Sie diese

public function uploadImages(Image $request) { 
     $images = request()->file('files'); 
     dd($images); 
     return view('Gallery'); 
    } 

auf und ersetzen Anfrage() mit $ request seit Ihrem eloquent verwenden.

public function uploadImages(Request $request) { 
     $images = $request->file('files'); 
     dd($images); 
     return view('Gallery'); 
    } 

Für ausführlichere Integration mit Laravel Dropzone Sie in diesem Tutorial beziehen Integrating Dropzone.js in Laravel 5 applications