Laravel-admin: CKEditor 的图片上传问题?

Created on 30 Mar 2018  ·  9Comments  ·  Source: z-song/laravel-admin

图片上传,老是提示 不正确的服务器响应 ,如何做呢?求laravel代码

Most helpful comment

@ycrao 我没有茫然,我就是断言,他就是错的,我试过我才说!
@jimmy8646
配置config:

config.extraPlugins = 'uploadimage';
config.imageUploadUrl = '/uploader/upload.php?type=Images';

php返回数据格式:

{
    "uploaded": 1,
    "fileName": "foo.jpg",
    "url": "/files/foo.jpg"
}

这些就够了,其他的config可以自己设置

All 9 comments

@aoeng 可以参考本插件 https://github.com/douyasi/laravel-ckeditor

@ycrao @z-song 不行啊 还是 不正确的服务器响应

  public function CKEditorUpload(Request $request)
    {
        $data = collect($request->file())->map(function ($file) {
            if ($file->isValid()) {
                return asset('uploads/' . $file->store('editor', 'admin'));
            }
        });
        $data = $data->values()->toArray();
        if (empty($data)) {
            return <<<EOT
<script type="text/javascript">alert('upload with wrong way and config!')</script>
EOT;
        }
        $funcNum = $request->input('CKEditorFuncNum', 0);
        return <<<EOT
<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction({$funcNum}, '{$data[0]}', 'success!');</script>
EOT;
    }

CKEditor 4

好了.网上的教程都是错的,参考

@aoeng 可以請你分享一下代碼嗎

@aoeng @jimmy8646 CKEditor 支持传统表单L73-L76(form文件表单上传,通过 ckeditor 工具栏按钮)上传、浏览器拖曳上传(把图片文件直接拖放到编辑器中)及其剪切板粘贴图片(复制图片粘贴上传)L77-L83 三种上传方式,不同上传方式的返回是不一样的,还是 不正确的服务器响应,是你配置的问题,可以下载安装插件 douyasi/laravel-ckeditor 后体验demo页面之后,再研究改动到 laravel-admin 中,而不是茫然断言网上的教程配置都是错的。

@ycrao 我没有茫然,我就是断言,他就是错的,我试过我才说!
@jimmy8646
配置config:

config.extraPlugins = 'uploadimage';
config.imageUploadUrl = '/uploader/upload.php?type=Images';

php返回数据格式:

{
    "uploaded": 1,
    "fileName": "foo.jpg",
    "url": "/files/foo.jpg"
}

这些就够了,其他的config可以自己设置

@aoeng 你所说的配置在 laravel-ckeditor L16-L20 里都有,不知道你 case 中所谓错的是啥错。 请直接看我录制的动图(本来想存储为视频的,但是视频太大,还得转码,不方便网络存储)吧,了解一下这三种上传模式,看看有没有你没考虑到的地方或者错误。
录制动图的环境:

  • Windows 10 + PHP7.0
  • 纯净版 Laravel + Laravel-CKEditor , 以 php artisan serve 方式启动
  • 录制时登录了QQ,为了方便截图图片到剪切板上传
  • 录制软件为 ScreenToGif

动图地址: https://www.yascmf.com/uploads/content/20180503/5aeb2a713fcf5_45o.gif

还好看到这里,不然我还要浪费好多时间,感谢! @aoeng

我有用 laravel-filemanager 來上传图片,可以看看我写的 文章

Was this page helpful?
0 / 5 - 0 ratings

Related issues

zhenyangze picture zhenyangze  ·  3Comments

piian picture piian  ·  3Comments

chenyongmin picture chenyongmin  ·  3Comments

greentornado picture greentornado  ·  3Comments

evans-kim picture evans-kim  ·  3Comments