Я не использую 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 - который меньше кода - но требует правильной настройки «дисков», а также включения класса в ваш контроллер и т. Д.
Надежда, приведенная выше, помогает направить вас в правильном направлении ...