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这个参数,需要写吗?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4

有截图吗,我的是正常的

3年前 评论
sachu (楼主) 3年前

@sachu 我是这样写的,你图片上传到本地还是oss??? public function uploadImage(Request $request, ImageUploadHandler $uploader) { // 初始化返回数据,默认是失败的 $data = [ 'success' => false, 'msg' => '上传失败!', 'file_path' => '' ]; // 判断是否有上传文件,并赋值给 $file if ($file = $request->upload_file) { // 保存图片到本地 $result = $uploader->save($file, 'topics', Auth::id(), 1024); // 图片保存成功的话 if ($result) { $data['file_path'] = $result['path']; $data['msg'] = "上传成功!"; $data['success'] = true; } } return $data; }

3年前 评论

file

3年前 评论
sachu (楼主) 3年前
nfangxu

上传的时候会发一个请求到服务器, 你看一下那个请求返回的是什么东西 大致就能确定问题了

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!