1

I have a form that uses Dropzone for uploading images. The framework used is Laravel 7. The images are uploaded regularly to the store and inserted into the database, but in the console I get the following error:

Uncaught ReferenceError: Dropzone is not defined.

Also the page does not refresh or redirect.

View

<form data-single="true" data-file-types="image/jpeg|image/png|image/jpg" action="inserisci_avatar" class="dropzone " id="dropzone-avatar" method="POST" >
    @csrf
    <div class="fallback">
        <input name="avatar" type="file" /> 
    </div>
    <div class="dz-message" data-dz-message>
        <div class="text-lg font-medium">Trascina il tuo avatar qui.</div>
        <div class="text-gray-600"> Oppure clicca e seleziona il file  </div>
    </div>
</form>

<script>
    window.onload = function() {
        //Dropzone.autoDiscover = false;
        Dropzone.options.dropzoneAvatar = {

            maxFilesize: 12,
            acceptedFiles: ".jpeg,.jpg,.png,.gif",
            addRemoveLinks: true,
            timeout: 5000,
            success: function(file, response)
            {
                console.log(response);
            },
            error: function(file, response)
            {
                return false;
            }

        };
    };
</script>

Controller:

public function ins_avatar(Request $request)
{
    $azienda = Auth::user();

    if ($request->hasFile('file')) {

        $id = $azienda->azienda->id;
        $ins_avatar = Azienda::find($id);

        if ($ins_avatar->avatar != null) {
            $cancella = $ins_avatar->avatar;
            Storage::delete('public/' . $cancella);
        }

        $path = $request->file('file')->store('uploads/avatar', 'public');
        $ins_avatar->avatar = $path;
        $ins_avatar->save();

        $ok = 'ok';
        
        return response()->json(['success' => $ok]);
    } else {
        return back()->with('avatar modificato', 'Nessuna immagine è stata caricata');
    }
}

Grazie

Rwd
  • 34,180
  • 6
  • 64
  • 78

0 Answers0