Возникли проблемы с настройкой Dropzone для работы с Laravel - PullRequest
0 голосов
/ 05 апреля 2020

Использование Laravel Framework 6.18.0

Я уверен, что это что-то простое, но я не могу понять это. Я не вижу функции в вызываемом контроллере, которая фактически выполняет работу по перемещению файла на сервер. Я прикрепил ссылку к картинке ниже, поскольку dropzone, кажется, выполняет свою работу, но сторона маршрута / контроллера, кажется, терпит неудачу.

Мои маршруты:

    Route::get('/uploadpics', 'UploadPicController@index');
    Route::post('/upload','UploadPicController@uploadFiles');

uploadpics.blade. php:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="{{asset('js/plugins/dropzone/dist/min/dropzone.min.css')}}">
    <script src="{{asset('js/plugins/dropzone/dropzone.min.js')}}" type="text/javascript"></script>
</head>
<body>

<div class="content">
    <form method="post" action="{{url('/upload')}}" enctype="multipart/form-data" class="dropzone" id="dropzone">
        @csrf
    </form>
</div>

<script>

    Dropzone.autoDiscover = false;
    var myDropzone = new Dropzone(".dropzone",{
        maxFilesize: 3,  // 3 mb
        acceptedFiles: ".jpeg,.jpg,.png",
    });

</script>
</body>
</html>

Мой UploadPicController. php

<?php

namespace App\Http\Controllers;

use App\Coin;
use Illuminate\Http\Request;
use Intervention\Image\Facades\Image;
use Carbon\Carbon;

class UploadPicController extends Controller
{

    public function index(){
        return view('pages.uploadpics');
    }

    public function uploadFiles(Request $request){
        dd("i'm in upload");                            //**I never get here...**
        if($request->hasFile('file')) {

            // Upload path
            $destinationPath = 'images/';

            // Create directory if not exists
            if (!file_exists($destinationPath)) {
                mkdir($destinationPath, 0755, true);
            }

            // Get file extension
            $extension = $request->file('file')->getClientOriginalExtension();

            // Valid extensions
            $validextensions = array("jpeg","jpg","png");

            // Check extension
            if(in_array(strtolower($extension), $validextensions)){

                // Rename file
                $fileName = str_slug(Carbon::now()->toDayDateTimeString()).rand(11111, 99999) .'.' . $extension;

                // Uploading file to given path
                $request->file('file')->move($destinationPath, $fileName);
            }
        }
    }
}

Я могу использовать dropzone на странице без ошибок, но она не копирует файл на сервер - это похоже на то, что функция в контроллере никогда не вызывается (см. дд (); - никогда не попадет).

введите описание изображения здесь

...