我有一个小的laravel项目,需要从画布上传文件到存储/上传/ 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)方面进行编码。任何建议或指导将不胜感激,谢谢。
答案 0 :(得分:1)
我不使用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类的工作方式-代码更少-但需要正确配置“磁盘”以及将类包括在控制器中。
上面的希望可以帮助您指出正确的方向...