Laravel-admin 集成 simditor 之后把上传图片的 base64 格式改成路径的问题
官方文档基本是蜻蜓点水了,没有说清楚。我利用官方的方法来安装了simditor这个插件,然后配置了下:
'simditor' => [
// Set to false if you want to disable this extension
'enable' => true,
// Editor configuration
'config' => [
'upload' => [
'url' => 'admin/api/upload', # example api route: admin/api/upload
'fileKey' => 'upload_file',
'connectionCount' => 3,
'leaveConfirm' => 'Uploading is in progress, are you sure to leave this page?'
],
'pasteImage' => true,
]
]
这里的url是不是admin开头的呢,然后路由写在了app/admin/routes.php里面:
$router->post('api/upload', 'HomeController@editor_upload')->name('admin.upload');
然后写了一个editor_upload的方法:
public function editor_upload()
{
$uploader = new ImageUploadHandler();
// 初始化返回数据,默认是失败的
$data = [
'success' => false,
'msg' => '上传失败!',
'file_path' => ''
];
if ($file = request()->upload_file) {
// 保存图片到本地
$result = $uploader->save($file, 'topics', "admin_", 1024);
// 图片保存成功的话
if ($result) {
$data['file_path'] = $result['path'];
$data['msg'] = "上传成功!";
$data['success'] = true;
}
}
return $data;
}
上面导入了教程里面的ImageUploadHandler对象。
然而没什么卵用,不知道哪里除了错误。
还有一个问题是,这里面没有csrf_token这个参数,需要写吗?
推荐文章: