首页 > 解决方案 > Laravel 7 - 未捕获的 ReferenceError:Dropzone 未定义

问题描述

我有一个使用 Dropzone 上传图像的表单。使用的框架是 Laravel 7。图像会定期上传到商店并插入数据库,但在控制台中我收到以下错误:

未捕获的 ReferenceError:Dropzone 未定义。

该页面也不会刷新或重定向。

看法

<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>

控制器:

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');
    }
}

格拉齐

标签: javascriptphplaravel

解决方案


推荐阅读