Как загрузить изображение холста в хранилище на Laravel - PullRequest
0 голосов
/ 24 апреля 2019

У меня небольшой проект laravel, которому нужно загрузить файл с холста в хранилище / uploads / imgs. Это мой холст

<body>
    <canvas id="canvas"></canvas>
</body>

Мне может понадобиться ajax для клиента, как показано ниже

var canvas = document.getElementById('image');
    var dataURL = canvas.toDataURL();

$.ajax({
    type: "POST",
    url: "/route-here",
    data: { 
        imgBase64: dataURL
    }
}).done(function(o) {
    console.log('saved'); 
});

Но я не уверен в кодировании на стороне сервера (Laravel). Любые советы или рекомендации будут с благодарностью, спасибо.

1 Ответ

1 голос
/ 24 апреля 2019

Я не использую Canvas, но немного загружаю файлы ... Вы можете использовать стандартные методы php для перемещения файлов в Laravel ... Кроме того, хотя вы определенно можете использовать AJAX, вы также можете сделать это через форму. ..

Пример того, как я обрабатываю загрузку в моем контроллере:

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

    $asset = $request->file('image')->getClientOriginalName();

        $request->file('image')->move(
               base_path() . '/storage/app/uploads/imgs/', $asset
        );

}

Обычно я также проверяю путь (как будто ваш путь не существует - он потерпит неудачу), дублирует имя файла и т. Д. До вызова метода -> move.

Лучший способ в долгосрочной перспективе - узнать, как работает класс Laravel Storage - который меньше кода - но требует правильной настройки «дисков», а также включения класса в ваш контроллер и т. Д.

Надежда, приведенная выше, помогает направить вас в правильном направлении ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...